- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 数据库的安全性与完整性 第七章 数据库的安全性与完整性 7.1 基本概念 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库的完整性是指数据的正确性、有效性和相容性。 能适应网络环境下安全要求级别的数据库为安全数据库或可信数据库。 可信计算基是指为实现数据库安全的所有实施策略和机制的集合。 数据安全性标准:P. 208 表7.1 7.2 数据库安全性控制 安全措施应该一级一级层层设置。 计算机系统的安全模型 P.207 图7-1 7.2 数据库安全性控制 数据库安全控制方法 一、用户标识与鉴别 1. 利用用户自身具备的各种自然特征标识自己和提供鉴别的依据。 2. 利用用户持有的证件。 3. 利用口令。 口令必威体育官网网址可采用的一些方法: (1)扩大口令集和口令长度。 (2)规定口令的生效时间,定期或不定期地更换口令。 (3)设置多层口令系统。 (4)设置动态口令。 7.2 数据库安全性控制 二 、 存取控制 1. 存取控制方法 DBMS的安全子系统主要包括两部分: 定义用户权限,并将用户权限登记到数据字典中。 合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。 用户权限组成:数据对象和操作类型。 在数据库系统中,定义存取权限称为授权。 (1) 自主存取控制(DAC) 用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。 7.2 数据库安全性控制 (2)强制存取控制(MAC) 在强制存取控制(MAC)方法中,每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。 对于任意一个对象,只有具有合法许可证的用户才可以 存取。强制存取控制因此相对比较严格。 MAC适用于对数据有严格而固定密级分类的部门。 主体是指数据库中数据访问者、(用户、DBA)进程、线程等,是系统中的活动实体。 客体是指数据库中数据及其载体(表、视图、索引、存储过程等),是系统中的被动实体。 7.2 数据库安全性控制 对于主体和客体,DBMS为它们每个实例(值)指派一 个敏感度标记(Label)。 敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。 主体的敏感度标记称为许可证级别。 客体的敏感度标记称为密级。 7.2 数据库安全性控制 MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。 当某一主体以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则: ① 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; ② 仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。 这两种规则的共同点在于它们均禁止了拥有高许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄漏。 7.2 数据库安全性控制 2.存取控制的实现 (1) 用户分类和权限 用户:系统用户(DBA)、数据对象属主(owner)、一般用户、公共用户(public)。 权限:包括数据访问权限(读、插入、修改、删除等)和数据库模式修改权限(索引、资源、修改、撤消等)两类。 7.2 数据库安全性控制 1、授权 GRANT语句向用户授予操作权限 一般格式为: GRANT权限[,权限]… [ON对象类型对象名] TO用户[,用户]... [WITH GRANT OPTION] 语义为: 将对指定操作对象的指定操作权限授予指定的用户。 7.2 数据库安全性控制 例:把查询表SC和修改其学号的权限授给用户 U2和U4。 GRANT SELECT , UPDATE(Sno) ON TABLE SC TO U2,U4; 例:把对表SC的INSERT权限授给用户U5,并允许将此权限再授予其他用户。 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; U5还可以将此权限授予U6: GRANT INSERT ON TABLE SC TO U6; 7.2 数据库安全性控制 例: DBA把在数据库 DB1中建立表的权限授予用户U1。 GRANT CREATETAB ON DATABASE DB1 TO U1; GRANT语句可以: 一次
文档评论(0)