




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数据库安全性和完整性 5 1数据库的安全性5 2Oracle数据库的安全性5 3数据完整性 第5章数据库安全性和完整性 数据库的安全性数据库的安全性是为了保护数据库以防止不合法的使用所造成的数据泄露 更改或破坏 数据的完整性数据的完整性是为了防止数据库存在不符合语义的数据 防止错误的信息输入 5 1数据库的安全性 数据库系统的安全性管理包括 一是用户是否有权限登录到系统 二是用户是否有权限使用数据库中的对象和执行相应的操作 数据库系统安全控制的一般方法 1 用户标识和鉴定2 存取控制3 定义视图4 审计5 数据加密 5 1数据库的安全性 1 用户标识和鉴定用户标识和鉴定是系统提供的最外层安全保护措施 其方法是由系统提供一定的方式让用户标识自己的名字或身份 用户名和口令用户身份识别码指纹 5 1数据库的安全性 2 存取控制预先定义每个用户的存取权限 即规定用户可以在哪些数据对象上进行哪些类型的操作 系统只允许用户在其操作权限范围内进行操作 关系数据库的存取权限控制对象不仅有数据本身 如表和属性列等 还有模式 外模式和内模式等数据字典的内容 可以定义的数据对象越小 粒度越细 授权子系统就越灵活 5 1数据库的安全性 表5 1关系数据库系统中的存取权限 5 1数据库的安全性 表5 2一个授权表的实例 对整个关系授权 5 1数据库的安全性 表5 3一个授权表的实例 对属性列授权 5 1数据库的安全性 表5 4一个授权表的实例 对关系中的记录授权 5 1数据库的安全性 3 定义视图进行存取的控制 不仅可以通过授权与收回权力来实现 还可以通过定义用户的外模式来提供一定的安全保护功能 在关系数据库系统中 就是为不同的用户定义不同的视图 通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来 从而自动地对数据提供一定程度的安全保护 5 1数据库的安全性 4 审计审计追踪使用的是一个专用文件或数据库 系统自动将用户对数据库的所有操作记录在上面 利用审计追踪的信息 就能重现导致数据库现有状况的一系列事件 以找出非法存取数据的人 5 1数据库的安全性 5 数据加密对于高度敏感性数据 例如财务数据 军事数据和国家机密 除以上安全性措施外 还可以采用数据加密技术 以密码形式存储和传输数据 5 1数据库的安全性 5 2Oracle数据库的安全性 Oracle的用户标识在Oracle中 最外层的安全性措施是让用户标识自己的名字 然后由系统进行核实 Oracle允许用户标识重复3次 如果3次仍未通过 系统自动退出 Oracle授权与检查机制Oracle的权限包括系统权限和数据库对象权限 采用非集中式的授权机制 即DBA负责授予与回收系统权限 每个用户授予与回收自己创建的数据库对象的权限 5 2Oracle数据库的安全性 5 2Oracle数据库的安全性 1 系统权限Oracle提供了100多种系统权限 如创建会话 创建表 创建视图 创建用户等 常用的一些系统权限参看第二章的表2 3 角色是一组系统权限的集合 CONNECT 允许用户登录数据库 并执行数据查询和操纵 RESOURCE 允许用户创建表 具有对该表的所有权限 DBA 拥有最高级别权限 可执行某些授权命令 建表和对任何表的数据进行操纵 5 2Oracle数据库的安全性 默认具有connect角色 等同于withadmin grantoption 2 数据对象权限在Oracle中 可以授权的数据库对象包括基本表 视图 序列 顺序号 同义词 存储过程 函数等 其中最为重要的是基本表 对于其本表Oracle支持3个级别的安全性 表级 行级和列级 5 2Oracle数据库的安全性 5 2Oracle数据库的安全性 补充 序列 顺序号 作用 序列为一组等间隔的数值 类型为数字 可以通过序列作为表中某个自增字段的值 如主键值 用法 CREATESEQUENCE序列名 INCREMENTBYn 每次增加n STARTWITHn 从n开始 MAXVALUE MINVALUEn NOMAXVALUE 定义序列生成器能产生的最大值 CYCLE NOCYCLE 表示当序列生成器的值达到限制值后是否循环 CACHEn NOCACHE 定义存放序列的内存块的大小 默认为20个 5 2Oracle数据库的安全性 补充 同义词 别名 同义词是一个对象的替代名称 利用同义词可以很方便地操纵不同用户模式下的对象 语法 CREATESYNONYMbookFORsystem book 表示将system用户下的book表 创建为当前用户的同义词 默认为private 通过dropsynonymbook删除 CREATEPUBLICSYNONYMbookFORsystem book 表示创建一个公共的 在其它用户模式下也同样的进行查询 1 表级安全性表的创建者或DBA可以把对表有关的权限授予其他用户 表级权限包括 ALTER 修改表定义 DELETE 删除表记录 INDEX 在表上建索引 INSERT 向表中插入数据记录 SELECT 查找表中记录 UPDATE 修改表中的数据 ALL 上述所有权限 5 2Oracle数据库的安全性 2 行级安全性Oracle行级安全性由视图实现 视图是表的一个子集 限定用户在视图上的操作 即相当于为表的行级提供了保护 视图上的授权与回收与表级完全相同 例 用户BookSys只允许用户SCOTT查看自己创建的book表中 中国水利水电出版 的图书信息 首先创建视图 然后将该视图的SELECT权限授予SCOTT用户 5 2Oracle数据库的安全性 5 2Oracle数据库的安全性 3 列级安全性Oracle列级安全性可由视图实现 也可以直接在基本上定义 直接在基本表上定义和回收列级权限也可用GRANT REVOKE语句 注 目前Oracle只允许直接在基本表上定义列级UPDATE权限 而且回收列级UPDATE权限时 Oracle不允许一列一列地回收 只能回收整个表的UPDATE权限 5 2Oracle数据库的安全性 5 2Oracle数据库的安全性 select对象权限只能授予整个表 不能授予表中的列 5 2Oracle数据库的安全性 3 Oracle的审计技术在Oracle中 审计分为用户级审计和系统级审计 用户级审计是任何Oracle用户可设置的审计 主要是用户针对自己创建的数据库表或视图进行审计 记录所有用户对这些表或视图的一切成功或不成功的访问 以及各种类型的SQL操作 系统级审计只能由DBA进行 可以监测成功或失败的登录要求 监测GRANT和REVOKE操作以及其他数据库级权限下的操作 5 2Oracle数据库的安全性 4 用户定义的安全性措施例 用户用数据库触发器定义的安全性措施CREATEORREPLACETRIGGERsecure readerBEFOREINSERTORUPDATEORDELETEONreaderBEGINIF TO CHAR sysdate DY IN SAT SUN OR TO NUMBER sysdate HH24 NOTBETWEEN8AND17 THENRAISE APPLICATION ERROR 20006 Youmayonlychangedataduringnormalbusinesshours ENDIF ENDsecure reader 5 2Oracle数据库的安全性 5 3完整性 5 3 1完整性约束条件5 3 2完整性控制5 3 3ORACLE的完整性 完整性约束条件数据库的完整性是指数据的正确性和相容性 完整性约束条件作用的对象可以有列级 元组级和关系级三种粒度 其中对列的约束主要指对其取值类型 范围 精度和排序等的约束条件 对元组的约束是指对记录中各个字段间的联系的约束 对关系的约束是指对各记录间或关系之间的联系的约束 完整性约束条件设计的这3类对象 其状态可以是静态的 也可以是动态的 5 3 1完整性约束条件 1 静态列级约束静态列级约束是对一个列的取值域的说明 这是最常见最简单同时也最容易实现的一类完整性约束 包括以下几方面 1 对数据类型的约束 包括数据的类型 长度 单位和精度等 2 对数据格式的约束 3 对取值范围或取值集合的约束 4 对空值的约束 5 其他约束 5 3 1完整性约束条件 5 3 1完整性约束条件 5 3 1完整性约束条件 2 静态元组约束一个元组是由若干个列值组成的 静态元组约束就是规定组成一个元组的各个列之间的约束关系 静态元组约束只局限在单个元组上 因此比较容易实现 例如在图书借阅表中可以规定 还书日期 借书日期 5 3 1完整性约束条件 5 3 1完整性约束条件 3 静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束 1 实体完整性约束 定义主码 不允许主码属性取相同的值或空值 2 参照完整性约束 定义外码 外码的属性取值或者为空值 或者等于被参照关系中的某个元组的主码值 3 函数依赖约束 4 统计约束 某个字段值与多个元组的统计值之间的关系 5 3 1完整性约束条件 4 动态列级约束动态列级约束是修改列定义或列值时要满足的约束条件 包括以下两方面 1 修改列定义时的约束 2 修改列值时的约束 5 3 1完整性约束条件 5 动态元组约束动态元组约束是指修改某个元组时需要参照其旧值 并且新旧值之间需要满足某种约束条件 6 动态关系约束动态关系约束是加在关系变化前后状态上的限制条件 例如 事务一致性 原子性等约束条件 5 3 1完整性约束条件 表5 5完整性约束条件 5 3 1完整性约束条件 DBMS的完整性控制机制应具有三个方面的功能 1 定义功能 即提供定义完整性约束条件的机制 2 检查功能 即检查用户发出的操作请求是否违背了完整性约束条件 3 如果发现用户的操作请求使数据违背了完整性约束条件 则采取一定的动作来保证数据的完整性 5 3 2完整性控制 完整性控制对于违反实体完整性规则和用户定义的完整性规则的操作一般都是采用拒绝执行的方式进行处理 而对于违反参照完整性的操作 并不都是简单的拒绝执行 有时还需要采取另一种方法 即接受这个操作 同时执行一些附加的操作 以保证数据库的状态仍然是正确的 1 删除被参照关系的元组时的考虑 2 修改被参照关系中主码的考虑 3 外码是否可以接受空值 5 3 2完整性控制 1 删除被参照关系的元组时的考虑 1 级联删除 Cascades 将参照关系中所有外码值与被参照关系中要删除的元组的主码值相对应的元组一起删除 2 受限删除 Restricted 只有当参照关系中没有任何元组的外码值与要删除的被参照关系的元组的主码值相对应 系统才执行删除操作 3 置空值删除 Nullifies 删除被参照关系元组时 将参照关系中所有与被参照关系中的被删除的元组的主码值相等的外码值置为空值 5 3 2完整性控制 5 3 2完整性控制 示例学生 学号 姓名 性别 专业 选课 学号 课程号 成绩 如果要删除学生信息 级联删除 删除该学生信息 同时也删除该学生选课信息 受限删除 如果该学生还没有选课 可以删除该学生信息 置空删除 2 修改被参照关系中主码的考虑 1 级联修改 Cascades 主码值与外码值一起修改 2 受限修改 Restricted 只有参照关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热带气旋最大强度分析模型的评估
- 2025至2030中国阴道保湿剂行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国水电行业项目调研及市场前景预测评估报告
- 2025年智能可穿戴设备技术创新在野生动物保护监测中的应用前景
- 一例肠梗阻患者的个案护理
- 离婚自愿放弃所有财产净身出户全面协议书
- 安全管理承包合同:加油站消防安全责任承包协议
- 离婚协议书打印模板离婚纠纷调解与执行服务
- 创新型科技企业研发团队人员主体变更合作协议
- 2025至2030中国轻石脑油行业项目调研及市场前景预测评估报告
- 精神科身体约束与护理
- 2021控制性详细规划技术规程
- 门窗淋水试验施工方案
- 遥感原理与应用 课件 第7、8章 定量遥感、遥感技术的应用
- 干部履历表模板
- 患者隐私保护培训课件
- 《SolidWorks 2024项目教程》高职全套教学课件
- 儿童肥胖的危害和预防-培训课件
- 2025版宝鸡市房地产评估服务合同范本(含保密条款)2篇
- 《集成电路技术导论》课件
- 医疗机构药品管理法
评论
0/150
提交评论