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

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

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

1、第四章第四章 数据库安全性数据库安全性 第四章第四章 数据库安全性数据库安全性1、问题的提出、问题的提出数据库的特点是数据可以共享数据库的特点是数据可以共享数据共享必然带来数据库的安全性问题数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享数据库系统中的数据共享不能是无条件的共享 例:例: 军事秘密、国家机密、新产品实验数据、市场需求分析、军事秘密、国家机密、新产品实验数据、市场需求分析、 市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据2、数据库的安全性:、数据库的安全性:是指保护数据库以防止不合法的使用

2、所造成的数据是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。泄露、更改或破坏。3、数据库的安全性和计算机系统、网络系统的安全性是紧密联系、相互、数据库的安全性和计算机系统、网络系统的安全性是紧密联系、相互支持的。支持的。第四章第四章 数据库安全性数据库安全性数据库安全性数据库安全性1、三类安全性问题、三类安全性问题技术安全性技术安全性管理安全性管理安全性政策法律安全性政策法律安全性2、技术安全性案例、技术安全性案例编写合法程序绕过编写合法程序绕过DBMS及其授权机制及其授权机制直接或编写程序执行非授权操作直接或编写程序执行非授权操作通过多次合法查询数据库从中推导出一些保密数据通过

3、多次合法查询数据库从中推导出一些保密数据问题:问题:在技术上在我们能想到什么样的数据库安全保障措施呢?在技术上在我们能想到什么样的数据库安全保障措施呢?第四章第四章 数据库安全性数据库安全性数据库系统安全性控制数据库系统安全性控制1、用户标识和口令、用户标识和口令可以在计算机硬件、操作系统、可以在计算机硬件、操作系统、DBMS、应用程序等各环节进行设置;、应用程序等各环节进行设置;也可以通过各种方法进行动态的计算来鉴别;也可以通过各种方法进行动态的计算来鉴别;还可以通过人体的各种特征来鉴别。还可以通过人体的各种特征来鉴别。目的:目的:提高非法用户进入系统的难度。提高非法用户进入系统的难度。第四

4、章第四章 数据库安全性数据库安全性数据库系统安全性控制(续)数据库系统安全性控制(续)2、存取控制、存取控制定义用户权限定义用户权限合法权限检查合法权限检查 权限:权限:用户对某一数据对象的操作权力称为权限。用户对某一数据对象的操作权力称为权限。 某个用户应该具有何种权限是管理和政策问题,不是技术问题。某个用户应该具有何种权限是管理和政策问题,不是技术问题。 定义用户存取权限就是定义用户可在哪些数据库对象上进行哪些类型定义用户存取权限就是定义用户可在哪些数据库对象上进行哪些类型 的操作。的操作。 定义存取权限称为定义存取权限称为授权授权。 存取控制是存取控制是DBMS主要关心的问题。主要关心的

5、问题。3、视图机制:、视图机制:为不同用户定义不同的视图,限制数据对象的范围。为不同用户定义不同的视图,限制数据对象的范围。4、数据加密存储与传输:、数据加密存储与传输:会降低系统效率。会降低系统效率。第四章第四章 数据库安全性数据库安全性数据库系统安全性控制(续)数据库系统安全性控制(续)5、统计数据库:、统计数据库:即只允许用户查询聚集类型的信息(如合计、均值等),即只允许用户查询聚集类型的信息(如合计、均值等),不允许查询单个记录信息。不允许查询单个记录信息。统计数据库的特殊安全性:能从合法的查询中推导出不合法信息。统计数据库的特殊安全性:能从合法的查询中推导出不合法信息。为此,可做如下

6、的规定:为此,可做如下的规定: 任何查询至少要涉及任何查询至少要涉及N个以上的记录;个以上的记录; 任意两个查询的相交数据项不能超过任意两个查询的相交数据项不能超过M个;个; 任何用户的查询次数不能超过任何用户的查询次数不能超过H次。次。 第四章第四章 数据库安全性数据库安全性身份验证方式的确认和设置身份验证方式的确认和设置注意:注意:登录名和数据库用户的创建和使用要求登录名和数据库用户的创建和使用要求SQL ServerSQL Server必须工作在必须工作在“SQL ServerSQL Server和和WindowsWindows混合身份验证混合身份验证”模式。模式。确认和设置方法如下:确

7、认和设置方法如下:1 1、启动、启动SQL ServerSQL Server;2 2、在服务器名称上右键选择、在服务器名称上右键选择“属性属性”,打开,打开“服务器属性服务器属性”对话框。在对话框。在“选择页选择页”里选择里选择“安全性安全性”,在,在“服务器身份验证服务器身份验证”里选择里选择“SQL SQL ServerServer和和WindowsWindows身份验证模式身份验证模式”,单击,单击“确定确定”完成。完成。切记:切记:若改变了身份验证方式,必须重启若改变了身份验证方式,必须重启SQL ServerSQL Server服务才能生效。服务才能生效。第四章第四章 数据库安全性数

8、据库安全性创建登录名和数据库用户创建登录名和数据库用户1 1、启动、启动SQL ServerSQL Server;2 2、选择、选择“安全性安全性登录名登录名”,右击,右击“登录名登录名”,选择,选择“新建登录名新建登录名”,打,打开开“登录名登录名- -新建新建”对话框。在对话框。在“常规常规”选项卡中,输入登录名,选择选项卡中,输入登录名,选择“SQL ServerSQL Server身份验证身份验证”,输入密码和确认密码,去掉,输入密码和确认密码,去掉“强制实施密码强制实施密码策略策略”、“强制密码过期强制密码过期”、“用户在下次登录时必须更改密码用户在下次登录时必须更改密码”前的前的对

9、勾,选择默认数据库;对勾,选择默认数据库;4 4、选择、选择“用户映射用户映射”选项卡,选择数据库(可多选)。此时,所创建的登选项卡,选择数据库(可多选)。此时,所创建的登录名即做为所选数据库的用户;录名即做为所选数据库的用户;5 5、选择、选择“状态状态”选项卡,选项卡,“设置设置”里里“是否允许连接到数据库引擎是否允许连接到数据库引擎”选择选择“授予授予”,“登录登录”里选择里选择“启用启用”,单击,单击“确定确定”完成。完成。第四章第四章 数据库安全性数据库安全性创建、删除登录名和数据库用户创建、删除登录名和数据库用户1、创建登录名、创建登录名lxd create login lxd w

10、ith password = lxdlxd2、创建数据库用户、创建数据库用户 use mydb create user lxd将将lxd设置为设置为mydb数据库的用户。该用户几乎没有任何权限。数据库的用户。该用户几乎没有任何权限。3、删除数据库用户:、删除数据库用户: drop user lxd4、删除登录名:、删除登录名: drop login lxd5、查看当前数据库用户信息:、查看当前数据库用户信息:exec sp_helpuser6、查看用户、查看用户lxd信息:信息:exec sp_helpuser lxd第四章第四章 数据库安全性数据库安全性表级权限的授权与回收表级权限的授权与回

11、收1、表级的用户权限设置可通过右击某个关系表(如、表级的用户权限设置可通过右击某个关系表(如student表)选择表)选择“属性属性”,打开,打开“表属性表属性”对话框,选择对话框,选择“权限权限”标签页即可。标签页即可。2、grant语句(授权)一般格式:语句(授权)一般格式: grant , . on to , with grant option3、常用权限类型:、常用权限类型:insert、delete、update、select4、revoke语句(回收)一般格式:语句(回收)一般格式: revoke grant option for , . on from , cascade问题:问

12、题:谁能执行授权命令?谁能执行授权命令?第四章第四章 数据库安全性数据库安全性授权授权DBA、数据库对象创建者(即属主、数据库对象创建者(即属主Owner)、拥有授权权限的用户可以执)、拥有授权权限的用户可以执行授权命令。行授权命令。1、把查询、把查询Student表权限授给用表权限授给用户户lxd。 grant select on student to lxd2、把对、把对course表的插入与删除权表的插入与删除权限授给用户限授给用户lxd。 grant insert, update on course to lxd3、把对、把对student表的表的sno, sname属属性的查询权限授

13、给用户性的查询权限授给用户lxd。 grant select on student(sno, sname) to lxd4、把对、把对sc表表grade属性的修改权属性的修改权限授给用户限授给用户lxd。 grant update on sc(grade) to lxd第四章第四章 数据库安全性数据库安全性授权(续)授权(续)5、把对、把对Student表操作的所有权表操作的所有权限授给用户限授给用户lxd。 grant all on student to lxd6、把对、把对course表查询权限授给数表查询权限授给数据库的所有用户。据库的所有用户。 grant select on cour

14、se to public7、把对、把对student表查询权限授给用表查询权限授给用户户lxd,同时授予授权的权限。,同时授予授权的权限。 grant select on student to lxd with grant option注意:注意:lxd用户只能将其权限范围内用户只能将其权限范围内的权力授予其他用户。的权力授予其他用户。不推荐使用不推荐使用8、查看用户、查看用户lxd的权限信息:的权限信息: exec sp_helprotect null,lxd9、查看、查看student表的授权信息:表的授权信息: exec sp_helprotect student第四章第四章 数据库安全

15、性数据库安全性回收回收1、回收用户、回收用户lxd查询查询Student表的表的权限。权限。 revoke select on student from lxd2、回收用户、回收用户lxd 对对course表表cno, cname修改的权限。修改的权限。 revoke update on course(cno, cname) from lxd3、回收所有用户对、回收所有用户对sc表的查询权表的查询权限。限。 revoke select on sc from public4、回收用户、回收用户lxd查询查询student表和其表和其授权的权限。授权的权限。 revoke grant option

16、 for select on student from lxd问题:问题:若用户若用户lxd已经将其权已经将其权限和授权的权限授给了其限和授权的权限授给了其他用户呢?他用户呢?revoke grant option for selecton studentfrom lxdcascade第四章第四章 数据库安全性数据库安全性数据库角色数据库角色数据库角色:数据库角色:是被命名的一组与数据库操作相关的权限。即权限的集合。是被命名的一组与数据库操作相关的权限。即权限的集合。select:studentupdate:course(cname,credit)数据库角色数据库角色r1用户用户U1.用户用户

17、Un用户作为角色的成员:用户作为角色的成员:即建立用户与角色的对应关系。即建立用户与角色的对应关系。用户被授予了角色所拥有的权限。用户被授予了角色所拥有的权限。第四章第四章 数据库安全性数据库安全性数据库角色的使用数据库角色的使用1、创建数据库角色、创建数据库角色 create role r12、授予角色权限内容、授予角色权限内容 grant select on student to r1 grant update on course(cname,credit) to r1 3、建立用户与角色的对应关系、建立用户与角色的对应关系exec sp_addrolemember r1, U1exec

18、sp_addrolemember r1, Un4、从角色中回收权限、从角色中回收权限 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, r1第四章第四章 数据库安全性数据库安全性数据库固定角色

19、数据库固定角色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_dr

20、oprolemember db_datareader, lxd即即SQL Server所定义的一些角色,该角色权限内容不能被修改。所定义的一些角色,该角色权限内容不能被修改。第四章第四章 数据库安全性数据库安全性数据库固定角色(续)数据库固定角色(续)固定角色固定角色权权 限限db_owner数据库的所有者。可执行任何数据库管理工作。数据库的所有者。可执行任何数据库管理工作。db_accessadmin数据库访问权限管理者。可添加或删除用户、组或登录名数据库访问权限管理者。可添加或删除用户、组或登录名db_securityadmin管理角色成员、对象所有权、语句执行权、数据库访问权限。管理角色

21、成员、对象所有权、语句执行权、数据库访问权限。db_ddladmin数据库数据库DDLDDL管理员,可执行数据库定义语言。管理员,可执行数据库定义语言。db_backupoperator执行数据库备份。执行数据库备份。db_datareader可对数据库中任何表执行可对数据库中任何表执行selectselect操作。操作。db_datawriter可对数据中任何表执行更新操作,但不可查询。可对数据中任何表执行更新操作,但不可查询。db_denydatawriter不能对任何表进行更新操作。不能对任何表进行更新操作。db_denydatareader不能查询数据库中任何表的内容。不能查询数据库中

22、任何表的内容。第四章第四章 数据库安全性数据库安全性完成下列要求完成下列要求要求要求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

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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