1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件161mb

第16讲 数据库系统的增强安全性 第7章:数据库系统的增强安全性 本讲内容 主题:数据库系统的增强安全性 教材内容: 第7.1节:虚拟专用数据库机制 第7.2节:基于标签的安全机制 VPD安全机制概貌 Oracle DBMS实现的安全机制 功能:基于内容的访问控制 粒度:记录级访问控制 用户体验:同一个DB对象可给不同用户呈现不同内容 安全策略的配置:安全管理员 关键技术:用谓词给SQL语句的WHERE子句添加限定条件 VPD机制的用户印象 不同用户似乎操作不同的DB对象,虽然实际上是同一个对象。 这由透明的WHERE子句条件约束实现 VPD机制的运用方法 安全管理员针对DB对象及其上的操作设定安全策略 每个安全策略(规则)由一个策略函数定义 每个策略函数返回的字符串构成一个谓词 用户对DB对象进行操作时,安全策略约束用户的操作。 谓词作为约束条件透明地附加到SQL操作语句的WHERE子句上 安全策略的设定方法 在应用程序中编写代码描述策略函数 描述语句:CREATE OR REPLACE FUNCTION 在应用程序中调用VPD机制提供的DBMS存储过程根据策略函数建立安全策略 存储过程:DBMS_RLS.ADD_POLICY 上述两项应用程序功能由安全管理员使用 第一项功能描述安全策略(规则) 第二项功能使安全策略(规则)生效 策略函数的定义方式 安全策略的建立方式 安全策略的作用方式 用户Scott执行以下操作: SELECT DISTINCT deptno FROM emp; 实际执行的是以下操作: SELECT DISTINCT deptno FROM emp WHERE deptno != 10; WHERE子句由VPD机制自动添加,对用户透明。 策略函数与安全策略 先定义策略函数 再引用策略函数建立安全策略 实际上是使安全策略生效 建立安全策略后,可修改策略函数,无须重新建立安全策略。 VPD机制自动按新的策略函数实施访问控制 安全策略与DB操作 常见DB操作包括SELECT、INSERT、UPDATE、DELETE或INDEX等。 默认情况下,安全策略对各类操作均实施控制。 建立安全策略时,可限定该策略仅对指定操作类型实施控制。 用STATEMENT_TYPES条款描述 安全策略与操作类型关联的方法 在调用存储过程建立安全策略时指明 环境信息的利用 哪个用户正在执行操作? “会话用户”或“当前用户” 当前用户的用户名是什么? 当前用户所在部门的部门号是什么? 由系统函数SYS_CONTEXT提供环境信息 当前用户的用户名: sys_context(userenv,session_user) 当前用户所在部门的部门号: sys_context(people_ctx,deptno) 注,userenv:用户环境,people_ctx:表people的上下文,deptno:表people中表示部门号的字段。 用户环境信息应用示例 约束条件:当用户名等于当前用户时 部门环境信息应用示例 约束条件:当部门号等于当前部门时 针对UPDATE操作的访问控制 多个安全策略共存问题 VPD机制以“与”运算确定约束条件 策略冲突时,条件为“假”,访问将被拒绝。 借助环境参数,有选择地使策略生效,可避免策略冲突。 针对字段的访问控制 规则:当且仅当访问涉及敏感字段时控制生效。 表people中的salary字段被定义为敏感字段 VPD机制的“免制约”特权 由安全管理员启用的安全策略控制全体用户对DB对象的访问行为,DBA也不例外。 特权应用:拥有“免制约”特权的用户可以不受VPD安全策略的限制 “免制约”特权指“EXEMPT ACCESS POLICY”授权 发放授权的方式: GRANT EXEMPT ACCESS POLICY TO SYSTEM; 该授权使得用户System获得“免制约”特权 OLS安全机制概貌 Oracle DBMS实现的安全机制 粒度:记录级访问控制 模型基础:BLP模型 核心思想:分别给DB记录和用户分配标签,通过两者标签的对比确定访问许可。 标签与访问控制 OLS机制的标签 三元组:等级,类别,组别 “等级”为数值型,“类别”和“组别”为集合型。 一般表示:(等级:类别:组别) 有效形式: (等级::)、(等级:类别:)、(等级:类别:组别) (等级::组别) 示例: (绝密::)、(机密::)、(秘密::)、(非密::) (绝密:海军:)、(绝密:海军,空军:) (机密:海军,空军:纽约)、(秘密:陆军:纽约,夏威夷) 基于标签的“读”访问判定 基于标签的“写”访问判定 OLS机制的应用方法 创建安全策略 设立一个存放OLS机制配置信息的容器 存储过程:sa_sys

文档评论(0)

yanchuh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档