以下的文章主要是讲述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
【编辑推荐】