第四章数据库的安全性ppt课件.ppt

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

《第四章数据库的安全性ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章数据库的安全性ppt课件.ppt(17页珍藏版)》请在三一办公上搜索。

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

2、作通过多次合法查询数据库从中推导出一些保密数据,数据库系统安全性控制,1、用户标识和口令,可以在计算机硬件、操作系统、DBMS、应用程序等各环节进行设置;也可以通过各种方法进行动态的计算来鉴别;还可以通过人体的各种特征来鉴别。,目的:提高非法用户进入系统的难度。,2、视图机制:为不同用户定义不同的视图,限制数据对象的范围。,3、数据加密存储与传输:显然会降低系统效率。,数据库系统安全性控制(续),4、存取控制定义用户权限合法权限检查 权限:用户对某一数据对象的操作权力称为权限。 某个用户应该具有何种权限是管理和政策问题,不是技术问题。 定义用户存取权限就是定义用户可在哪些数据库对象上进行哪些类

3、型的 操作。 定义用户存取权限也称为授权。 存取控制是DBMS主要关心的问题。,统计数据库的安全性,统计数据库:即只允许用户查询聚集类型的信息(如合计、均值等),不允 许查询单个记录信息。,统计数据库的特殊安全性:能从合法的查询中推导出不合法信息。,为此,可做如下的规定: 任何查询至少要涉及N个以上的记录; 任意两个查询的相交数据项不能超过M个; 任何用户的查询次数不能超过H次。 ,SQL Server身份验证方式的确认和设置,在SQL Server中创建登录名和数据库用户要求SQL Server必须工作在“SQL Server和Windows混合身份验证”模式。,确认和设置方法如下:1、启动

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

5、期”、“用户在下次登录时必须更改密码”前的对勾,选择默认数据库;4、选择“用户映射”选项卡,选择数据库(可多选)。此时,所创建的登录名即做为所选数据库的用户;5、选择“状态”选项卡,“设置”里“是否允许连接到数据库引擎”选择“授予”,“登录”里选择“启用”,单击“确定”完成。,此时用户1方可通过SQL Server使用数据库DB1和DB2。,创建、删除登录名和数据库用户,1、创建登录名lxm create login lxm with password = lxmlxm,2、创建数据库用户 use mydb create user lxm,3、删除数据库用户:drop user lxm,将lx

6、m设置为mydb数据库的用户。该用户几乎没有任何权限。,4、删除登录名:drop login lxm,5、查看当前数据库用户信息:exec sp_helpuser,6、查看用户lxm信息:exec sp_helpuser lxm,表级权限的授权与回收,1、表级的用户权限设置可通过右击某个关系表(如student表)选择“属性”,打开“表属性”对话框,选择“权限”标签页进行设置。,5、问题:谁能执行授权命令?,2、grant语句(授权)一般格式: grant , . on to , with grant option,3、常用权限类型:insert、delete、update、select,4、

7、revoke语句(回收)一般格式: revoke grant option for , . on from , cascade,DBA、数据库对象创建者(即属主Owner)、拥有授权权限的用户可以执行授权命令。,授权示例,1、把查询Student表权限授给用户lxm。 grant select on student to lxm,3、把对student表的sno, sname属性的查询权限授给用户lxm。 grant select on student(sno, sname) to lxm,2、把对course表的插入与删除权限授给用户lxm。 grant insert, update on

8、course to lxm,4、把对sc表grade属性的修改权限授给用户lxm。 grant update on sc(grade) to lxm,授权示例(续),5、把对Student表操作的所有权限授给用户lxm。 grant all on student to lxm,7、把对student表查询权限授给用户lxm,同时授予授权的权限。 grant select on student to lxm with grant option,不推荐使用all,8、查看用户lxm的权限信息:exec sp_helprotect null,lxm,6、把对course表查询权限授给数据库的所有用户

9、。 grant select on course to public,注意:lxm用户只能将其权限范围内的权力授予其他用户。,9、查看student表的授权信息:exec sp_helprotect student,回收,1、回收用户lxm查询Student表的权限。 revoke select on student from lxm,3、回收所有用户对sc表的查询权限。 revoke select on sc from public,问题:若用户lxm已经将其权限和授权的权限授给了其他用户呢?,revoke grant option for selecton studentfrom lxmc

10、ascade,2、回收用户lxm对course表cno, cname修改的权限。 revoke update on course(cno, cname) from lxm,4、回收用户lxm查询student表和其授权的权限。 revoke grant option for select on student from lxm,数据库角色,数据库角色:是被命名的一组与数据库操作相关的权限。即权限的集合。,用户作为角色的成员:即建立用户与角色的对应关系。,用户一旦作为某角色的成员,则该用户即被授予了角色所拥有的权限。,若修改了角色内容,则与之对应的所有用户权限均将被改变。可见,角色概念的提出可方

11、便DBA对用户权限的管理。,数据库角色的使用,1、创建数据库角色 create role r1,4、从角色中回收权限 revoke select on student from r1,2、授予角色权限内容 grant select on student to r1 grant update on course(cname,credit) to r1,3、建立用户与角色的对应关系exec sp_addrolemember r1, U1exec sp_addrolemember r1, Un,5、删除角色中的用户 exec sp_droprolemember r1, U1,6、删除角色 drop

12、role r1,7、查看角色成员信息 exec sp_helprolemember r1,8、查看有哪些角色 exec sp_helprole,9、查看角色权限内容 exec sp_helprotect null, r1,数据库固定角色,1、查看有哪些固定角色 exec sp_helpdbfixedrole,即SQL Server所定义的一些角色,该角色权限内容不能被修改。,2、查看固定角色db_datareader的描述信息 exec sp_helpdbfixedrole db_datareader,3、查看固定角色db_datareader权限内容 exec sp_dbfixedrolep

13、ermission db_datareader,4、向固定角色db_datareader添加和删除用户 exec sp_addrolemember db_datareader, lxm exec sp_droprolemember db_datareader, lxm,SQL Sever数据库固定角色,完成下列要求,要求:lxm用户是讲授DB课程的教师,她具有查看选修了DB课程的学生学号、姓名、所在系和成绩信息,同时对该成绩具有修改的权限。,create role DBTeacher,create view DB_Course(sno, sname, sdept, grade)asselect

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

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号