第8章 数据库的安全与权限

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 2005是以“默认安全”。SQL Server是一个设计用于在服务器 上运行,能够接受远程用户和应用程序访问的数据库管理系统。为了远程访问 SQL Server实例,需要一种网络协议来建立到SQL Server服务器的连接 可以通过以下操作来配置远程访问,启用远程访问连接。 (1)执行【开始】|【所有程序】|【Microsoft SQL Server 2005】|【配置工具 】|【SQL Server外围应用配置器】命令,进入SQL Server 2005外围应用配置 器窗口。

掌握SQL Server 2005中的权限管理策略
2013年7月5日
第2页
数据库原理及应用案例教程
北京大学出版社
教学重点及难点
重点:

掌握SQL Server 2005中用户和角色的策略 掌握SQL Server 2005中的权限管理策略


难点:
掌握数据库安全控制的各种方法
2013年7月5日
第6页
2013年7月5日
数据库原理及应用案例教程
北京大学出版社
8.1 数据库安全控制机制
数据库的安全性是指保护数据库,以防止不合法的使用使数据泄密、
更改或破坏。是数据库管理员必须认真考虑的问题。具体来讲,数据库管 理员必须制定一套安全控制策略,一方面要保证那些合法用户可以登录到
数据库服务器中,并且能够实施数据库中各种权限范围内的操作;另一方
(2)在强制存取控制方法中,每一个数据对象被标以一定的密级,每
一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有 合法许可证的用户才可以存取。强制存取控制因此相对比较严格。
2013年7月5日
第11页
数据库原理及应用案例教程
北京大学出版社
8.1.4 视图机制
进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在 一定的范围内,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏
2013年7月5日 第14页
数据库原理及应用案例教程
北京大学出版社
8.1.7 SQL Server 2005安全机制的总体策略
在SQL Server 2005中,数据的安全保护由4个层次构成,如图8-2所示
2013年7月5日
第15页
数据库原理及应用案例教程
北京大学出版社
8.1.8 SQL Server 2005网络配置
用户
用户标识和鉴别
DBMS
存取控制
OS
操作系统安全保护
DB
数据密码存入
图8-1 计算机系统的安全模型 用户要求进入计算机系统时,系统首先根据输入的用户标识进行 用户身份鉴定,只有合法的用户才准许进入计算机系统。对已进入系 统的用户,DBMS还要进行存取控制,只允许用户执行合法操作。操 作系统一级也会有自己的保护措施。数据最后还可以以密码形式存储 到数据库中。
(2)在窗口底部的“配置外围应用到Localhost”选项区,单击“服务和连接
的外围应用配置器”选项,进入服务和连接的外围应用配置器。
2013年7月5日
第16页
数据库原理及应用案例教程
北京大学出版社
8.1.8 SQL Server 2005网络配置
(3)随后在打开的窗口的左半部分显示了可以进行配置的组件列表。在这个列 表中,展开“Database Engine”图标并选择“远程连接”选项。 (4)在右侧面板中选中“本地连接和远程连接”单选按钮,然后选择一个协议 选项。基于安全和性能的考虑,推荐使用TCP/IP协议。 数据库存储了重要的信息,对数据库服务器进行很好的网络安全保护,以防 止未授权的外部访问。当需要SQL Server能够通过Internet供用户或者应用程序 访问时,应该保证网络环境提供了某种保护机制,例如,防火墙或者DS(入侵检 测系统)。
2013年7月5日
第10页
数据库原理及应用案例教程
北京大学出版社
8.1.3 存取控制
当前大型的DBMS一般都支持自主存取控制(DAC),有些DBMS同
时还支持强制存取控制(MAC)。 这两类方法的简单定义是:
(1)在自主存取控制方法中,用户对于不同的数据对象有不同的存取
权限,不同的用户对同一对象也有不同的权限,而且用户还可以将其拥 有的存取权限转授给其他用户。因此自主存取控制非常灵活。
2013年7月5日
第17页
数据库原理及应用案例教程
北京大学出版社
8.2 用户与角色管理
8.2.1 登录身份管理 8.2.2 用户帐号管理
8.2.3 角色管理
2013年7月5日
第18页
数据库原理及应用案例教程
北京大学出版社
8.2 用户与角色管理
SQL Server2005也是通过设置不同级别的用户和分配不同的权限的方法来实现 数据库的安全性的。一个用户如果要访问SQL Server数据库中的数据,必须提供有 效的认证信息。数据库引擎必须经过3个认证过程: (1)登录身份验证(操作系统级的验证):用来确认登录用户的登录帐号和密码 的正确性,由此来验证用户是否具有连接SQL Server数据库服务器的资格,这里只 验证该用户是否具有连接到数据库服务器的“连接权”,即用户首先要获得计算机操 作系统的使用权。 (2)用户帐号验证(SQL Server级的验证): 当用户通过登录身份验证后,即登录 到数据库服务器后,若要访问具体的某个数据库,必须拥有对该数据库访问的用户 帐号,才能通过用户帐号验证。 (3)操作许可验证(数据库级的验证): 当用户通过上述两级验证后,若要操作数 据库中的数据或对象,还必须拥有相应操作的操作许可权,即必须通过操作许可验 证SQL Server 2005管理数据库的用户帐号的操作权限。其内容将在8.3节介绍。
征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。
审计功能一般主要用于安全性要求较高的部门。
2013年7月5日
第13页
数据库原理及应用案例教程
北京大学出版社
8.1.6 数据加密
数据加密是防止数据库中数据在存储和传输中失密的有效手段。加密的基本思 想是根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的 格式(术语为密文,Cipher text),从而使得不知道解密算法的人无法获知数据的 内容。 加密方法主要有两种,一种是替换方法,该方法使用密钥(Encryption Key) 将明文中的每一个字符转换为密文中的一个字符。另一种是置换方法,该方法仅将 明文中的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安 全的。但是将这两种方法结合起来就能提供相当高的安全程度。采用这种结合算法 的例子是美国1977年制定的官方加密标准,数据加密标准(Data Encryption Standard,简称DES)。 目前有些数据库产品提供了数据加密例行程序,可根据用户的要求自动对存储 和传输的数据进行加密处理。另一些数据库产品虽然本身未提供加密程序,但提供 了接口,允许用户用其他厂商的加密程序对数据加密。
CREATE VIEW CS_Student AS
SELECT *
FROM Student WHERE Sdept=‟计算机‟; GRANT SELECT ON CS_Student TO 王平; 2013年7月5日 第12页
数据库原理及应.5 审计(Audit)
审计功能把用户对数据库的所有操作自动记录下来放入审计日志( Audit Log)中。DBA可以利用审计跟踪的信息,重现导致数据库现有状 况的一系列事件,找出非法存取数据的人、时间和内容等。 审计通常是很费时间和空间的,所以DBMS往往都将其作为可选特
起来,从而自动地对数据提供一定程序的安全保护。
在支持存取谓词的系统中,视图机制间接地实现了支持存取谓词的用户权限 定义。在不支持存取谓词的系统中,可以先建立视图,然后在视图上进一步定义 存取权限。 例如,用户王平只能检索计算机系学生的情况。可以先建立计算机系学生的 视图CS_Student,然后把对CS_Student的SELECT的权限授予王平。
2013年7月5日
第5页
数据库原理及应用案例教程
北京大学出版社
8.1 数据库安全控制机制

8.1.1 安全控制模型
8.1.2 用户标识与鉴别 8.1.3 存取控制 8.1.4 视图机制 8.1.5审计(Audit)


8.1.6 数据加密
8.1.7 SQL Server 2005安全机制的总体策略 8.1.8 SQL Server 2005网络配置
面,要防止所有的非授权用户进行越权的或非法的操作。 数据库的安全控制有多种措施,通常使用用户身份验证和权限管理的
方法。用户身份验证用来阻止非法的用户登录到数据库服务器中,而利用
操作权限管理来控制越权的非法操作。
2013年7月5日
第7页
数据库原理及应用案例教程
北京大学出版社
8.1.1 安全控制模型
在一般计算机系统中,安全措施是一级一级层层设置的。模型如下:
2013年7月5日 第19页
数据库原理及应用案例教程
SQL Server2005数据库应用与开发教程 数据库原理及应用案例教程
北京大学出版社 北京大学出版社
第8章
数据库的安全与权限
教学目标 教学重点 教学过程
2013年7月5日
第1页
数据库原理及应用案例教程
北京大学出版社
教学目标

掌握数据库安全控制的各种方法 掌握SQL Server 2005中用户和角色的策略
2013年7月5日
第8页
数据库原理及应用案例教程
北京大学出版社
8.1.2 用户标识与鉴别
用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系 统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系 统时,由系统进行核对,通过鉴定后才提供机器使用权。 对于获得上机权的用户若要使用数据库时数据库管理系统还要进行 用户标识和鉴定。 用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种并 举,以获得更强的安全性。常用的方法有: (1)用一个用户名或者用户标识号来标明用户身份。 (2) 口令(Password)鉴别用户身份。 (3)通过计算过程或函数来鉴别用户身份和密码。 通过用户和口令来鉴定用户的方法简单易行,但用户名与口令容易 被人窃取,因此还可以用更复杂的方法。
2013年7月5日 第9页
数据库原理及应用案例教程
北京大学出版社
8.1.3 存取控制
数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的 一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的
人员无法接近数据,这主要通过数据库系统的存取控制机制实现。
存取控制机制主要包括两部分: 1.定义用户权限,并将用户权限登记到数据字典中。用户权限是指不同的用 户对于不同的数据对象允许执行的操作权限。系统必须提供适当的语言定义用户 权限,这些定义经过编译后存放在数据字典中,被称作安全规则或授权规则。 2.合法权限检查,每当用户发出存取数据库的操作请求后(请求一般应包括 操作类型、操作对象和操作用户等信息),DBMS查找数据字典,根据安全规则 进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操 作。 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。
第3页
数据库原理及应用案例教程
北京大学出版社
教学过程

引例 8.1 数据库安全控制机制 8.2 用户与角色管理 8.3 许可权限管理 8.3 本章小结
2013年7月5日
第4页
数据库原理及应用案例教程
北京大学出版社
引例
技术培训中心最近招收了一名新员工,该员工主要负责对“学生选
课”数据库信息的维护。该员工对“学生选课”数据库的具体权限为: 在SQL Server 2005中,数据的安全保护由4个层次构成: 能对“学生选课”数据库的所有表具有查询权限,对“选修”表具有插 (1)远程访问许可验证、 入和更新的权限。 为此,数据库开发人员的小王首先对SQL Server2005进行了正确配 (2)登录身份验证、 置,以使该员工的主机能够访问SQL Server 2005服务器,随后他为该 (3)用户帐号验证、 新员工创建了一个登录帐号,并把该登录帐号添加为“学生选课”的数 (4)操作许可验证 据库用户,最后授予该数据库用户对所有表的SELECT权限、对“选修 ”表具有 INSERT和UPDATE权限。
相关文档
最新文档