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

上传人:小飞机 文档编号:1356724 上传时间:2022-11-13 格式:PPT 页数:18 大小:396.50KB
返回 下载 相关 举报
第四章数据库的安全性(角色和权限)ppt课件.ppt_第1页
第1页 / 共18页
第四章数据库的安全性(角色和权限)ppt课件.ppt_第2页
第2页 / 共18页
第四章数据库的安全性(角色和权限)ppt课件.ppt_第3页
第3页 / 共18页
第四章数据库的安全性(角色和权限)ppt课件.ppt_第4页
第4页 / 共18页
第四章数据库的安全性(角色和权限)ppt课件.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《第四章数据库的安全性(角色和权限)ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章数据库的安全性(角色和权限)ppt课件.ppt(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混合身份验证”模式。确认和设置方法如下:1、启动SQL Server;2、在服务

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

5、户映射”选项卡,选择数据库(可多选)。此时,所创建的登录名即做为所选数据库的用户;5、选择“状态”选项卡,“设置”里“是否允许连接到数据库引擎”选择“授予”,“登录”里选择“启用”,单击“确定”完成。,创建、删除登录名和数据库用户,1、创建登录名lxd create login lxd with password = lxdlxd2、创建数据库用户 use mydb create user lxd将lxd设置为mydb数据库的用户。该用户几乎没有任何权限。3、删除数据库用户: drop user lxd4、删除登录名: drop login lxd5、查看当前数据库用户信息:exec sp_h

6、elpuser6、查看用户lxd信息:exec sp_helpuser lxd,表级权限的授权与回收,1、表级的用户权限设置可通过右击某个关系表(如student表)选择“属性”,打开“表属性”对话框,选择“权限”标签页即可。2、grant语句(授权)一般格式: grant , . on to , with grant option3、常用权限类型:insert、delete、update、select4、revoke语句(回收)一般格式: revoke grant option for , . on from , cascade,问题:谁能执行授权命令?,授权,DBA、数据库对象创建者(即属

7、主Owner)、拥有授权权限的用户可以执行授权命令。,1、把查询Student表权限授给用户lxd。 grant select on student to lxd2、把对course表的插入与删除权限授给用户lxd。 grant insert, update on course to lxd,3、把对student表的sno, sname属性的查询权限授给用户lxd。 grant select on student(sno, sname) to lxd4、把对sc表grade属性的修改权限授给用户lxd。 grant update on sc(grade) to lxd,授权(续),5、把对S

8、tudent表操作的所有权限授给用户lxd。 grant all on student to lxd6、把对course表查询权限授给数据库的所有用户。 grant select on course to public,7、把对student表查询权限授给用户lxd,同时授予授权的权限。 grant select on student to lxd with grant option注意:lxd用户只能将其权限范围内的权力授予其他用户。,不推荐使用,8、查看用户lxd的权限信息: exec sp_helprotect null,lxd9、查看student表的授权信息: exec sp_hel

9、protect student,回收,1、回收用户lxd查询Student表的权限。 revoke select on student from lxd2、回收用户lxd 对course表cno, cname修改的权限。 revoke update on course(cno, cname) from lxd,3、回收所有用户对sc表的查询权限。 revoke select on sc from public4、回收用户lxd查询student表和其授权的权限。 revoke grant option for select on student from lxd,问题:若用户lxd已经将其权限

10、和授权的权限授给了其他用户呢?,revoke grant option for selecton studentfrom lxdcascade,数据库角色,数据库角色:是被命名的一组与数据库操作相关的权限。即权限的集合。,select:studentupdate:course(cname,credit),数据库角色r1,用户U1,.,用户Un,用户作为角色的成员:即建立用户与角色的对应关系。用户被授予了角色所拥有的权限。,数据库角色的使用,1、创建数据库角色 create role r12、授予角色权限内容 grant select on student to r1 grant update

11、on course(cname,credit) to r1 3、建立用户与角色的对应关系exec sp_addrolemember r1, U1exec sp_addrolemember r1, Un,4、从角色中回收权限 revoke select on student from r15、删除角色中的用户 exec sp_droprolemember r1, U16、删除角色 drop role r17、查看角色成员信息 exec sp_helprolemember r18、查看有哪些角色 exec sp_helprole9、查看角色权限内容 exec sp_helprotect null,

12、 r1,数据库固定角色,1、查看有哪些固定角色 exec sp_helpdbfixedrole2、查看固定角色db_datareader的描述信息 exec sp_helpdbfixedrole db_datareader3、查看固定角色db_datareader权限内容 exec sp_dbfixedrolepermission db_datareader4、向固定角色db_datareader添加和删除用户 exec sp_addrolemember db_datareader, lxd exec sp_droprolemember db_datareader, lxd,即SQL Serv

13、er所定义的一些角色,该角色权限内容不能被修改。,数据库固定角色(续),完成下列要求,要求lxd用户具有查看选修了DB课程的学生学号、姓名、所在系和成绩信息。create role DBTeachercreate view DB_Course(sno, sname, sdept, grade)asselect student.sno, sname, sdept, gradefrom student, course, scwhere student.sno=sc.sno and o=o and cname=DBgrant selecton DB_Courseto DBTeacherexec sp

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号