2023年8月1日发(作者:)
数据库原理及应⽤——数据库安全详解数据库安全详解数据库安全性概述数据库的重要特点是数据共享,然⽽数据共享会带来数据库的安全问题,即数据共享不能是⽆条件的共享。数据库的安全性就是指保护数据库,防⽌不合法使⽤所造成的数据泄露,更改或破坏。系统安全保护措施是数据库系统安全性的主要性能指标。数据库的不安全因素⾮授权⽤户对数据库的恶意存取和破坏。数据库中重要或敏感数据被泄露。安全环境脆弱,主要是指系统的安全保护措施脆弱。数据库安全性控制数据库的安全性控制:⽤户标识和鉴别, 存取控制,⾃读存取控制⽅法,授权与回收,数据库⾓⾊,强制存取控制⽅法。数据库管理系统安全性控制模型⾃主存取控制⽅法:同⼀⽤户可对不同对象有不同的权限。不同⽤户针对同⼀对象也可由不同的权限。权限的转授。关系数据库系统中的存取权限详细表⽤户权限的授予与回收向⽤户授予权限(GRANT)语法:GRANT <权限> [,<权限>]…ON <对象类型> <对象名>[,<对象类型> <对象名>]…TO <⽤户>[,<⽤户>]…[WITH GRANT OPTION];WITH GRANT OPTION:1.授权给其他⽤户的权限,2.禁⽌循环授权。实例⼀:把查询Student表的权限授权给⽤户U1GRANT SELECT ON TABLE Student TO U1;实例⼆:把对Student和Course表的全部操作权限授予⽤户U2和U3GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3实例三:把对表SC的查询权限授予所有⽤户GRANT SELECT ON TABLE SC TO PUBLIC实例四:把查询Student表和修改学⽣学号的权限授给⽤户U4GRANT SELECT,UPDATE(Sno) ON TABLE Student TO U4实例五:把对SC的INSERT权限授予U5⽤户,并允许将此权限再授予其他⽤户GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION收回授予的权限(REVOKE)语法:REVOKE <权限> [,<权限>]…ON <对象类型> <对象名>[,<对象类型> <对象名>]…FROM <⽤户>[,<⽤户>]…[CASCADE|RESTRICT]实例⼀:把⽤户U4修改学⽣学号的权限收回。REVOKE UPDATE(Sno) ON TABLE Student FROM U4;实例⼆:收回所有⽤户对表SC的查询权限。REVOKE SELECT ON TABLE SC FROM PUBLIC;实例三:把⽤户U5对SC表的INSERT权限收回。REVOKE INSERT ON TABLE SC FROM U5 CASCADE;创建数据库模式的权限语法:CREATE USER [WITH][DBA│RESOURCE │CONNECT]说明:DBA、RESOURCE、CONNECT权限⾓⾊是权限的集合。⾓⾊的创建:CREATE ROLE <⾓⾊名>实例⼀:创建⼀个⾓⾊R1CREATE ROLE R1;给⾓⾊授权:GRANT <权限> [,<权限>]…ON <对象类型> 对象名TO <⾓⾊>[,<⾓⾊>]将⼀个⾓⾊授予其他⾓⾊或⽤户:GRANT <⾓⾊1>[,<⾓⾊2>]…TO <⾓⾊3>[,<⽤户1>]…[WITH ADMIN OPTION]实例⼀;使⽤GRANT语句,使⾓⾊R1拥有Student表的SELECT、 UPDATE、INSERT权限。GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;实例⼆:将实例⼀中的⾓⾊授予张三,李四。GRANT R1 TO 张三,李四;实例三:增加R1⾓⾊“student表的DELETE权限”GRANT DELETE ON Student TO R1;⾓⾊权限的收回:REVOKE <权限>[,<权限>]…ON <对象类型> <对象名>FROM <⾓⾊> [,<⾓⾊>]…实例四:从实例⼆中收回张三这个⾓⾊REVOKE R1 FROM 张三;实例五:减少R1的“student表的SELECT权限”REVOKE SELECT ON TABLE Student FROM R1;视图机制视图机制:视图对数据的隐藏功能(⾏筛选),表中部分数据存取权限的定义。审计审计包含以下操作:把⽤户对数据库的所有操作⾃动记录下来放⼊审计⽇志。⽬的:重现操作记录;取证;调查。缺点:牺牲了时间和空间审计的类别:⽤户级审计:是任何⽤户可设置的审计,主要是⽤户针对⾃⼰创建的数据库表或视图进⾏审计,记录所有⽤户对这些表或视图的⼀切成功和不成功的访问要求及各种类型的SQL操作。系统审计:DBA设置,⽤以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作实例⼀:对修改SC表结构或修改SC表数据的操作进⾏审计AUDIT ALTER,UPDATE ON SC;实例⼆: 取消对SC表的⼀切审计NOAUDIT ALTER,UPDATE ON SC;其他数据安全性保护数据加密:将代换和置换结合,从⽽完成数据的加密和解密。推理控制,隐蔽信道,数据隐私,这些都是数据库的安全性保护。
2023年8月1日发(作者:)
数据库原理及应⽤——数据库安全详解数据库安全详解数据库安全性概述数据库的重要特点是数据共享,然⽽数据共享会带来数据库的安全问题,即数据共享不能是⽆条件的共享。数据库的安全性就是指保护数据库,防⽌不合法使⽤所造成的数据泄露,更改或破坏。系统安全保护措施是数据库系统安全性的主要性能指标。数据库的不安全因素⾮授权⽤户对数据库的恶意存取和破坏。数据库中重要或敏感数据被泄露。安全环境脆弱,主要是指系统的安全保护措施脆弱。数据库安全性控制数据库的安全性控制:⽤户标识和鉴别, 存取控制,⾃读存取控制⽅法,授权与回收,数据库⾓⾊,强制存取控制⽅法。数据库管理系统安全性控制模型⾃主存取控制⽅法:同⼀⽤户可对不同对象有不同的权限。不同⽤户针对同⼀对象也可由不同的权限。权限的转授。关系数据库系统中的存取权限详细表⽤户权限的授予与回收向⽤户授予权限(GRANT)语法:GRANT <权限> [,<权限>]…ON <对象类型> <对象名>[,<对象类型> <对象名>]…TO <⽤户>[,<⽤户>]…[WITH GRANT OPTION];WITH GRANT OPTION:1.授权给其他⽤户的权限,2.禁⽌循环授权。实例⼀:把查询Student表的权限授权给⽤户U1GRANT SELECT ON TABLE Student TO U1;实例⼆:把对Student和Course表的全部操作权限授予⽤户U2和U3GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3实例三:把对表SC的查询权限授予所有⽤户GRANT SELECT ON TABLE SC TO PUBLIC实例四:把查询Student表和修改学⽣学号的权限授给⽤户U4GRANT SELECT,UPDATE(Sno) ON TABLE Student TO U4实例五:把对SC的INSERT权限授予U5⽤户,并允许将此权限再授予其他⽤户GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION收回授予的权限(REVOKE)语法:REVOKE <权限> [,<权限>]…ON <对象类型> <对象名>[,<对象类型> <对象名>]…FROM <⽤户>[,<⽤户>]…[CASCADE|RESTRICT]实例⼀:把⽤户U4修改学⽣学号的权限收回。REVOKE UPDATE(Sno) ON TABLE Student FROM U4;实例⼆:收回所有⽤户对表SC的查询权限。REVOKE SELECT ON TABLE SC FROM PUBLIC;实例三:把⽤户U5对SC表的INSERT权限收回。REVOKE INSERT ON TABLE SC FROM U5 CASCADE;创建数据库模式的权限语法:CREATE USER [WITH][DBA│RESOURCE │CONNECT]说明:DBA、RESOURCE、CONNECT权限⾓⾊是权限的集合。⾓⾊的创建:CREATE ROLE <⾓⾊名>实例⼀:创建⼀个⾓⾊R1CREATE ROLE R1;给⾓⾊授权:GRANT <权限> [,<权限>]…ON <对象类型> 对象名TO <⾓⾊>[,<⾓⾊>]将⼀个⾓⾊授予其他⾓⾊或⽤户:GRANT <⾓⾊1>[,<⾓⾊2>]…TO <⾓⾊3>[,<⽤户1>]…[WITH ADMIN OPTION]实例⼀;使⽤GRANT语句,使⾓⾊R1拥有Student表的SELECT、 UPDATE、INSERT权限。GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;实例⼆:将实例⼀中的⾓⾊授予张三,李四。GRANT R1 TO 张三,李四;实例三:增加R1⾓⾊“student表的DELETE权限”GRANT DELETE ON Student TO R1;⾓⾊权限的收回:REVOKE <权限>[,<权限>]…ON <对象类型> <对象名>FROM <⾓⾊> [,<⾓⾊>]…实例四:从实例⼆中收回张三这个⾓⾊REVOKE R1 FROM 张三;实例五:减少R1的“student表的SELECT权限”REVOKE SELECT ON TABLE Student FROM R1;视图机制视图机制:视图对数据的隐藏功能(⾏筛选),表中部分数据存取权限的定义。审计审计包含以下操作:把⽤户对数据库的所有操作⾃动记录下来放⼊审计⽇志。⽬的:重现操作记录;取证;调查。缺点:牺牲了时间和空间审计的类别:⽤户级审计:是任何⽤户可设置的审计,主要是⽤户针对⾃⼰创建的数据库表或视图进⾏审计,记录所有⽤户对这些表或视图的⼀切成功和不成功的访问要求及各种类型的SQL操作。系统审计:DBA设置,⽤以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作实例⼀:对修改SC表结构或修改SC表数据的操作进⾏审计AUDIT ALTER,UPDATE ON SC;实例⼆: 取消对SC表的⼀切审计NOAUDIT ALTER,UPDATE ON SC;其他数据安全性保护数据加密:将代换和置换结合,从⽽完成数据的加密和解密。推理控制,隐蔽信道,数据隐私,这些都是数据库的安全性保护。
发布评论