以下的文章主要是讲述Oracle强制访问和DM强制访问的控制模型对比的具体表现,本问主要是从系统冲突与系统权限这两方面来讲述Oracle强制访问和DM强制访问的控制模型的不同之处。以下就是文章的具体内容介绍。

系统冲突

(1)与视图的冲突:用户访问视图的用户的标记去访问基表,即直接对基表实施标记保护。

(2)与参照完整性的冲突:不对内部生成的引用表扫描应用 LBAC 读Oracle强制访问规则;不对内部生成的被引用表扫描应用 LBAC 读访问规则;当对引用表执行 CASCADE 操作时,应用 LBAC 写规则。

(3)与CHECK约束的冲突:在验证CHECK约束时,不应用LBAC读规则。

(4)与主键和唯一键约束的冲突:在验证一个主键或唯一键约束时,不应用LBAC规则。(如果推理信息是一个问题,那么对唯一键的列加一个列标记吧)

(5)与索引覆盖的冲突:系统优化,直接使用索引获取数据时,如果索引列中包含标记列,则执行该优化,否则不执行该优化。

(6)可以和水平分区相结合。

系统权限

(1)安全管理员权限(SECADM),执行如下操作需要该权限。

创建和删除标记组件

创建和删除安全策略

创建和删除安全标记

授予和回收安全标记

授予和回收免除权

授予和回收SETSESSIONUSER权

SYSADM是唯一可以授予SECADM权的用户,其并不固有的能Oracle强制访问一个受保护的表。

(2)SETSESSIONUSER权限

改变当前用户授权ID到一个不同的授权ID,实际就是切换用户来Oracle强制访问不同的数据。SETSESSIONUSER能被授予给一个用户或组,该权限允许拥有者切换ID到任何一个拥有该权限的用户ID。切换语句为SET SESSION AUTHORIZATION。

文章出自: http://www.programbbs.com/doc/class10-1.htm

【编辑推荐】

    一个简单的Oracle写文件例子找回Oracle用户密码的方法如何对Oracle sql 进行性能优化的调整Oracle参数及参数文件7大类解析OraclePL编程语言的优点介绍