第七章:数据库系统的增强安全性_第1页
第七章:数据库系统的增强安全性_第2页
第七章:数据库系统的增强安全性_第3页
第七章:数据库系统的增强安全性_第4页
第七章:数据库系统的增强安全性_第5页
已阅读5页,还剩39页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第16讲

数据库系统的增强安全性第7章:数据库系统的增强安全性第2/44页本讲内容主题:数据库系统的增强安全性教材内容:第7.1节:虚拟专用数据库机制第7.2节:基于标签的安全机制第3/44页VPD安全机制概貌OracleDBMS实现的安全机制功能:基于内容的访问控制粒度:记录级访问控制用户体验:同一个DB对象可给不同用户呈现不同内容安全策略的配置:安全管理员关键技术:用谓词给SQL语句的WHERE子句添加限定条件第4/44页不同用户似乎操作不同的DB对象,虽然实际上是同一个对象。这由透明的WHERE子句条件约束实现VPD机制的用户印象用户甲用户乙第5/44页VPD机制的运用方法安全管理员针对DB对象及其上的操作设定安全策略每个安全策略(规则)由一个策略函数定义每个策略函数返回的字符串构成一个谓词用户对DB对象进行操作时,安全策略约束用户的操作。谓词作为约束条件透明地附加到SQL操作语句的WHERE子句上第6/44页安全策略的设定方法在应用程序中编写代码描述策略函数描述语句:CREATEORREPLACEFUNCTION在应用程序中调用VPD机制提供的DBMS存储过程根据策略函数建立安全策略存储过程:DBMS_RLS.ADD_POLICY上述两项应用程序功能由安全管理员使用第一项功能描述安全策略(规则)第二项功能使安全策略(规则)生效第7/44页策略函数的定义方式函数名DB模式名DB对象名对象字段名第8/44页安全策略的建立方式策略名策略函数名DB模式名DB对象名第9/44页安全策略的作用方式用户Scott执行以下操作:SELECTDISTINCTdeptnoFROMemp;

实际执行的是以下操作:SELECTDISTINCTdeptnoFROMempWHEREdeptno!=10;WHERE子句由VPD机制自动添加,对用户透明。第10/44页策略函数与安全策略先定义策略函数再引用策略函数建立安全策略实际上是使安全策略生效建立安全策略后,可修改策略函数,无须重新建立安全策略。VPD机制自动按新的策略函数实施访问控制第11/44页安全策略与DB操作常见DB操作包括SELECT、INSERT、UPDATE、DELETE或INDEX等。默认情况下,安全策略对各类操作均实施控制。建立安全策略时,可限定该策略仅对指定操作类型实施控制。用STATEMENT_TYPES条款描述第12/44页安全策略与操作类型关联的方法在调用存储过程建立安全策略时指明使该安全策略仅对INSERT和UPDATE操作生效要求操作结果满足约束条件第13/44页环境信息的利用哪个用户正在执行操作?“会话用户”或“当前用户”当前用户的用户名是什么?当前用户所在部门的部门号是什么?由系统函数SYS_CONTEXT提供环境信息当前用户的用户名: sys_context(''userenv'',''session_user'')当前用户所在部门的部门号: sys_context(''people_ctx'',''deptno'')注,userenv:用户环境,people_ctx:表people的上下文,deptno:表people中表示部门号的字段。第14/44页用户环境信息应用示例约束条件:当用户名等于当前用户时第15/44页部门环境信息应用示例约束条件:当部门号等于当前部门时第16/44页针对UPDATE操作的访问控制第17/44页多个安全策略共存问题VPD机制以“与”运算确定约束条件策略冲突时,条件为“假”,访问将被拒绝。借助环境参数,有选择地使策略生效,可避免策略冲突。第18/44页针对字段的访问控制规则:当且仅当访问涉及敏感字段时控制生效。表people中的salary字段被定义为敏感字段第19/44页VPD机制的“免制约”特权由安全管理员启用的安全策略控制全体用户对DB对象的访问行为,DBA也不例外。特权应用:拥有“免制约”特权的用户可以不受VPD安全策略的限制“免制约”特权指“EXEMPTACCESSPOLICY”授权发放授权的方式: GRANTEXEMPTACCESSPOLICYTOSYSTEM; 该授权使得用户System获得“免制约”特权第20/44页OLS安全机制概貌OracleDBMS实现的安全机制粒度:记录级访问控制模型基础:BLP模型核心思想:分别给DB记录和用户分配标签,通过两者标签的对比确定访问许可。第21/44页标签与访问控制第22/44页OLS机制的标签三元组:<等级,类别,组别>“等级”为数值型,“类别”和“组别”为集合型。一般表示:(等级:类别:组别)有效形式:(等级::)、(等级:类别:)、(等级:类别:组别)(等级::组别)示例:(绝密::)、(机密::)、(秘密::)、(非密::)(绝密:海军:)、(绝密:海军,空军:)(机密:海军,空军:纽约)、(秘密:陆军:纽约,夏威夷)第23/44页基于标签的“读”访问判定第24/44页基于标签的“写”访问判定第25/44页OLS机制的应用方法创建安全策略设立一个存放OLS机制配置信息的容器存储过程:sa_sysdba.create_policy定义标签元素定义等级、类别、组别等元素存储过程:sa_components.create_level/compartment/group定义标签利用元素构造标签存储过程:sa_label_admin.create_label启用安全策略把标签控制信息落实到DB表中(包括添加标签字段)存储过程:sa_policy_admin.apply_table_policy给用户分配标签设置用户的标签属性(蕴含访问授权)存储过程:sa_user_admin.set_user_labels第26/44页示例样本以某跨国公司的信息发布数据库为背景安全策略名:ESDB等级元素:EXEC、MGR、EMP(对应执行层、经理层、职员层)类别元素:SALES、DEV、IS(对应营销部、开发部、内援部)组别元素:CORP、US、NY、LA、EMEA、APAC(对应全公司范围、美国区域、纽约区域、洛杉矶区域、欧洲和中东及非洲区域、亚太区域)用户群名称:ALL_EMPLOYEES、ALL_MANAGER、ALL_EXECSDB模式名:SCOTTDB表名:ANNOUNCEMENTS标签字段名:ROWLABEL第27/44页OLS安全策略的创建编写创建安全策略的代码,由安全管理员执行。OLS默认的安全管理员是LBACSYS。第28/44页OLS安全策略的启用假如标签元素和标签等均已定义好,则可启用已创建的安全策略。比如,把策略ESDB实施到模式SCOTT中的表ANNOUNCEMENTS上。选项table_options:NO_CONTROL:暂不控制READ_CONTROL:控制“读”操作WRITE_CONTROL:控制“写”操作第29/44页OLS安全策略的重启如想变更安全策略的选项等信息,可先把它停用再重新启用。第30/44页等级元素的定义值为9000、8000、7000的三个等级元素的定义:第31/44页单元素标签的定义标签标识号label_tag必须唯一,整个DBS的所有安全策略中标签的标识号不能有重号。第32/44页给用户分配单元素标签标签可直接分配给DB用户,也可以分配给用户群,还可以分配给应用系统、IP地址域、或其他相关对象。第33/44页类别元素的定义类别号comp_num仅用作标识符,不表示类别的大小。第34/44页双元素标签的定义含等级元素和类别元素的标签的定义:第35/44页给用户分配双元素标签给用户分配含等级元素和类别元素的标签:第36/44页组别元素的定义组别之间可能存在父子关系,例如,组别CORP是组别US的父组。第37/44页三元素标签的定义含等级、类别、组别元素的标签的定义:第38/44页给用户分配三元素标签给用户分配含等级、类别、组别元素的标签:第39/44页标签的取值范围与默认值可能取值:可以分配给用户的标签的取值范围默认会话标签:当前会话采用的标签值默认记录标签:有LABEL_DEFAULT选项时系统自动分配给记录的标签值第40/44页等级元素取值范围与默认值的设定与用户SCOTT的标签相关的设定方法:第41/44页类别元素的添加方法把类别DEV添加到用户SCOTT的标签

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论