- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章_数据库安全性和完整性
数据库的安全性:就是防止非法用户使用数据库造成数据泄露、更改或破坏,以达到保护数据库的目的。 1. 用户标识与鉴别 用户标识:Identification 用户名:User Name,或者 用户标识号:UID 用户鉴别:Authentication 用户名+口令:Password 2. 存取控制 数据库安全的主要思路:存取控制 给合适的人以合适的权限 存取控制机制 定义用户及其权限,在数据字典中登记用户权限; 权限合法性检查 2. 存取控制 两类实现存取控制的方法 自主存取控制: Discretionary Access Control a)用户对不同的数据对象有不同的权限; b)不同用户对同一对象具有不同的权限; c)允许用户之间的传递授予权限 强制存取控制: Mandatory Access Control a)以一定的密级标注数据对象 b)授予每个用户以某一级别的许可证 2.1 自主存取控制DAC 用户权限 谁 + 在哪个对象上 + 可以干什么事情 授权:将用户权限授予特定用户的过程 2.1 自主存取控制DAC 2.1 自主存取控制DAC SQL标准对DAC的支持 授权:Grant语句 回收:Revoke语句 SQL创建用户时赋予用户的权限 DBA、RESOURCE、CONNECT 2.1 自主存取控制DAC 默认用户权限: CONNECT 2.1 自主存取控制DAC 授权权限:Grant语句 把“在某个对象上” “干某种事情”的权限授予“某个用户” 2.1 自主存取控制DAC 数据对象 ::= 基表|视图|属性|… 用户 ::= PUBLIC|用户名 PUBLIC是所有数据库用户的总称 若有WITH GRANT OPTION,则用户可将此特权转授给其它用户。不允许循环授权 2.1 自主存取控制DAC 回收权限:Revoke语句 把“在某个对象上” “干某种事情”的权限从“某个用户”那里要回来 2.1 自主存取控制DAC 以单个权限为单位授权太过麻烦 角色:权限的集合 为具有相同权限的用户群创建一个角色 基于角色来管理权限简化授权过程 创建角色 给角色授权或授予角色 给用户授予角色 2.1 自主存取控制DAC 角色的创建 CREATE ROLE 角色名 给角色授权 GRANT 权限 ON 数据对象 TO 角色 GRANT 角色 TO 角色 [WITH ADMIN OPTION] 给用户授予角色 GRANT 角色 TO 用户 [WITH ADMIN OPTION] 2.1 自主存取控制DAC 角色权限的回收 REVOKE 权限 ON 数据对象 FROM 角色 举例: 创建角色R1 使R1具有Student表的Select/Update/Insert权限 将R1角色授予用户王平和李明 修改R1,使其具有Student表的Delete权限 3. 视图机制 视图机制 王平老师只能查询计算机系学生的信息 系主任李明具有处置计算机系学生信息的所有权限 CREATE VIEW CS_STU AS Select * From Student Where Sdept = ‘CS’; GRANT SELECT ON CS_STU TO 王平; GRANT ALL PRIVILIGES ON CS_STU TO 李明 4. 审计Audit和数据加密 审计:C2级DBMS的必要指标,是把用户对数据库的所有操作自动记录下来放入审计日志 用户级审计 系统级审计 数据加密 数据库完整性:数据的正确性和相容性。 DBMS对数据库完整性的支持 提供定义完整性约束的机制 实体完整性、参照完整性、自定义完整性 提供完整性检查的方法 违约处理:拒绝执行、级联执行 3.1 完整性约束的概念 完整性约束:加在数据之上的语义约束 完整性约束的作用对象 ● 关系:若干元组间、关系集合上以及关系之间的联系的约束 ● 元组:元组的约束是元组中各个字段间的联系的约束 ● 属性列:主要是列的数据类型、取值范围、精度、排序等约束条件 3.1 完整性约束的概念 完整性约束的类型 静态约束:数据库在确定状态时数据对象应满足的约束条件; 动态约束:数据库从一种状态转变为另一种状态时,新、旧值之间应满足的约束条件 2)静态元组约束:规定组成一个元组的各个列之间的约束关系。 例如:库存关系中出库数量不能大于库存数量。 3.2 实体/参照完整性约束 实体完整性:PRIMARY KEY 列级定义 关系级定义 参照完整性: FOREIGN KEY / REFERENCES 违约处理:拒绝、级联删除、设置为空 3.2 实体/参照完整性约束 CREATE TABLE SC ( Sno CHAR(8) NOT NULL, Cno CHAR(4) N
文档评论(0)