Oracle DV和OLS以及VPD的区别(转)

Database Vault概述
对于现在数据的权限和安全管理有一个基本的原则就是分离权责,即IT系统的超级用户不应该同时又是应用系统的超级用户,但是传统的数据库体系结构却并不支 持这样的分离,因为DBA用户一般都能够查看和修改数据库里的任何数据,这就使DBA用户也同时成为了企业数据安全的薄弱环节。当然也可以使用某种加密算 法来加密数据从而防止超级用户查看修改数据,但是这样做也有相应的缺点,一是所有用户(包括有权限用户)想看数据的时候都要经过解密;二是一般而言加密会 多少影响程序的性能。Oracle 的Database Vault就是为了解决DBA用户(或者其他超级用户)的安全问题而设计出来的。

下面通过一个简单的例子来说明DatabaseVault的一个简单的思想:在DatabaseVault的设计里,一旦对某一个应用使用了 DatabaseVault选项,则SYSTEM/SYS只拥有对sys的超级用户权限(也就是说DBA可以管理数据库),但是却没有对其他用户下的数据 的操作查看权力(除非把DBA用户显示地增加到其他应用的授权区域(REALMS))。这样,每一个应用都拥有自己数据的超级用户,该应用的超级用户可以 修改查看自己的数据,却不能查看别的应用的数据,甚至连DBA用户都不能查看其他应用的数据。

如上图所示:SYSTEM可以操作sys下的对象,可以管理数据库,比如增加数据文件等,但是一旦他想查看HR数据和SALES数据,则会给 DatabaseVault阻挡;同样的,HR应用和SALES应用的DBA拥有自己数据的操作权限,却无法操作别的应用的数据。这样就达到了权责的分 离。

DatabaseVault和VPD(虚拟数据库),OLS(Label Security)的区别

VPD是Oracle数据库里最早出现带来额外数据安全的选项,VPD在做托管的应用里,不同用户的数据都存在同一个表里,但是VPD自动给该用户发出的 SQL语句增加一个where条件(类似于where username=:sessionusername的方式)来达到不同的用户查看同一个表不同部分的目的。
而OLS(标签安全选项)则提供了更加细致的授权方式,通过对每一列数据加注标签,并给用户规定组(group),部门(compartment)等,可以提供组,部门和数据标签之间的访问控制关系,比VPD提供了更加复杂的权限模型。
但是DatabaseVault和VPD已经OLS都不一样,DatabaseVault是把整个表对象和对该表能使用的命令置于一个被保护的“城堡”当 中,而不是作用于一个表的单独的行。只有被授权进入城堡的人才可以使用特定的命令操作该对象,而“城堡”外的人(即使是DBA)也不能使用某个被包含的特 定命令操作该对象。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7734298/viewspace-709421/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7734298/viewspace-709421/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值