第四章数据库的安全性(角色和权限)课件

上传人:我*** 文档编号:146272861 上传时间:2020-09-29 格式:PPT 页数:18 大小:384KB
返回 下载 相关 举报
第四章数据库的安全性(角色和权限)课件_第1页
第1页 / 共18页
第四章数据库的安全性(角色和权限)课件_第2页
第2页 / 共18页
第四章数据库的安全性(角色和权限)课件_第3页
第3页 / 共18页
第四章数据库的安全性(角色和权限)课件_第4页
第4页 / 共18页
第四章数据库的安全性(角色和权限)课件_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《第四章数据库的安全性(角色和权限)课件》由会员分享,可在线阅读,更多相关《第四章数据库的安全性(角色和权限)课件(18页珍藏版)》请在金锄头文库上搜索。

1、第四章 数据库安全性,1、问题的提出 数据库的特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例: 军事秘密、国家机密、新产品实验数据、市场需求分析、 市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据 2、数据库的安全性:是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 3、数据库的安全性和计算机系统、网络系统的安全性是紧密联系、相互支持的。,数据库安全性,1、三类安全性问题 技术安全性 管理安全性 政策法律安全性 2、技术安全性案例 编写合法程序绕过DBMS及其授权机制 直接或编写程序执行非授权操作 通过多次合法查询数据

2、库从中推导出一些保密数据,问题:在技术上在我们能想到什么样的数据库安全保障措施呢?,数据库系统安全性控制,1、用户标识和口令 可以在计算机硬件、操作系统、DBMS、应用程序等各环节进行设置; 也可以通过各种方法进行动态的计算来鉴别; 还可以通过人体的各种特征来鉴别。 目的:提高非法用户进入系统的难度。,数据库系统安全性控制(续),2、存取控制 定义用户权限 合法权限检查 权限:用户对某一数据对象的操作权力称为权限。 某个用户应该具有何种权限是管理和政策问题,不是技术问题。 定义用户存取权限就是定义用户可在哪些数据库对象上进行哪些类型 的操作。 定义存取权限称为授权。 存取控制是DBMS主要关心

3、的问题。 3、视图机制:为不同用户定义不同的视图,限制数据对象的范围。 4、数据加密存储与传输:会降低系统效率。,数据库系统安全性控制(续),5、统计数据库:即只允许用户查询聚集类型的信息(如合计、均值等),不允许查询单个记录信息。 统计数据库的特殊安全性:能从合法的查询中推导出不合法信息。 为此,可做如下的规定: 任何查询至少要涉及N个以上的记录; 任意两个查询的相交数据项不能超过M个; 任何用户的查询次数不能超过H次。 ,身份验证方式的确认和设置,注意:登录名和数据库用户的创建和使用要求SQL Server必须工作在“SQL Server和Windows混合身份验证”模式。 确认和设置方法

4、如下: 1、启动SQL Server; 2、在服务器名称上右键选择“属性”,打开“服务器属性”对话框。在“选择页”里选择“安全性”,在“服务器身份验证”里选择“SQL Server和Windows身份验证模式”,单击“确定”完成。 切记:若改变了身份验证方式,必须重启SQL Server服务才能生效。,创建登录名和数据库用户,1、启动SQL Server; 2、选择“安全性登录名”,右击“登录名”,选择“新建登录名”,打开“登录名-新建”对话框。在“常规”选项卡中,输入登录名,选择“SQL Server身份验证”,输入密码和确认密码,去掉“强制实施密码策略”、“强制密码过期”、“用户在下次登录

5、时必须更改密码”前的对勾,选择默认数据库; 4、选择“用户映射”选项卡,选择数据库(可多选)。此时,所创建的登录名即做为所选数据库的用户; 5、选择“状态”选项卡,“设置”里“是否允许连接到数据库引擎”选择“授予”,“登录”里选择“启用”,单击“确定”完成。,创建、删除登录名和数据库用户,1、创建登录名lxd create login lxd with password = lxdlxd 2、创建数据库用户 use mydb create user lxd 将lxd设置为mydb数据库的用户。该用户几乎没有任何权限。 3、删除数据库用户: drop user lxd 4、删除登录名: drop

6、 login lxd 5、查看当前数据库用户信息:exec sp_helpuser 6、查看用户lxd信息:exec sp_helpuser lxd,表级权限的授权与回收,1、表级的用户权限设置可通过右击某个关系表(如student表)选择“属性”,打开“表属性”对话框,选择“权限”标签页即可。 2、grant语句(授权)一般格式: grant , . on to , with grant option 3、常用权限类型:insert、delete、update、select 4、revoke语句(回收)一般格式: revoke grant option for , . on from , c

7、ascade,问题:谁能执行授权命令?,授权,DBA、数据库对象创建者(即属主Owner)、拥有授权权限的用户可以执行授权命令。,1、把查询Student表权限授给用户lxd。 grant select on student to lxd 2、把对course表的插入与删除权限授给用户lxd。 grant insert, update on course to lxd,3、把对student表的sno, sname属性的查询权限授给用户lxd。 grant select on student(sno, sname) to lxd 4、把对sc表grade属性的修改权限授给用户lxd。 gran

8、t update on sc(grade) to lxd,授权(续),5、把对Student表操作的所有权限授给用户lxd。 grant all on student to lxd 6、把对course表查询权限授给数据库的所有用户。 grant select on course to public,7、把对student表查询权限授给用户lxd,同时授予授权的权限。 grant select on student to lxd with grant option 注意:lxd用户只能将其权限范围内的权力授予其他用户。,不推荐使用,8、查看用户lxd的权限信息: exec sp_helprot

9、ect null,lxd 9、查看student表的授权信息: exec sp_helprotect student,回收,1、回收用户lxd查询Student表的权限。 revoke select on student from lxd 2、回收用户lxd 对course表cno, cname修改的权限。 revoke update on course(cno, cname) from lxd,3、回收所有用户对sc表的查询权限。 revoke select on sc from public 4、回收用户lxd查询student表和其授权的权限。 revoke grant option f

10、or select on student from lxd,问题:若用户lxd已经将其权限和授权的权限授给了其他用户呢?,revoke grant option for select on student from lxd cascade,数据库角色,数据库角色:是被命名的一组与数据库操作相关的权限。即权限的集合。,select: student update: course(cname,credit),数据库角色r1,用户U1,. . .,用户Un,用户作为角色的成员:即建立用户与角色的对应关系。 用户被授予了角色所拥有的权限。,数据库角色的使用,1、创建数据库角色 create role

11、r1 2、授予角色权限内容 grant select on student to r1 grant update on course(cname,credit) to r1 3、建立用户与角色的对应关系 exec sp_addrolemember r1, U1 exec sp_addrolemember r1, Un,4、从角色中回收权限 revoke select on student from r1 5、删除角色中的用户 exec sp_droprolemember r1, U1 6、删除角色 drop role r1 7、查看角色成员信息 exec sp_helprolemember r

12、1 8、查看有哪些角色 exec sp_helprole 9、查看角色权限内容 exec sp_helprotect null, r1,数据库固定角色,1、查看有哪些固定角色 exec sp_helpdbfixedrole 2、查看固定角色db_datareader的描述信息 exec sp_helpdbfixedrole db_datareader 3、查看固定角色db_datareader权限内容 exec sp_dbfixedrolepermission db_datareader 4、向固定角色db_datareader添加和删除用户 exec sp_addrolemember db_

13、datareader, lxd exec sp_droprolemember db_datareader, lxd,即SQL Server所定义的一些角色,该角色权限内容不能被修改。,数据库固定角色(续),完成下列要求,要求lxd用户具有查看选修了DB课程的学生学号、姓名、所在系和成绩信息。 create role DBTeacher create view DB_Course(sno, sname, sdept, grade) as select student.sno, sname, sdept, grade from student, course, sc where student.s

14、no=sc.sno and o=o and cname=DB grant select on DB_Course to DBTeacher exec sp_addrolemember DBTeacher, lxd,审计,审计:即把用户对数据库的操作自动记录下来。DBA可利用这些信息进行安全分析与跟踪。 1、在SQL Server上选择“工具”菜单下的“SQL Server Profiler”功能; 2、选择“新建跟踪”,打开跟踪属性对话框; 输入跟踪名称; 选择“保存到表”,然后选择数据库,并输入存在跟踪信息的表名; 在“事件选择”标签页中可以选择跟踪事件的详细设置。 3、点击“运行”。完成! 4、当不需要跟踪时,选择“暂停”或“停止”即可; 5、可以打开所建的跟踪表查看跟踪信息。 6、审计(跟踪)也可以使用触发器来实现。 注意:审计(跟踪)会降低系统效率。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号