oracle里的ols机制,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/,如需转载,请注明出处,否则将追究法律责任。
oracle里的ols机制,Oracle DV和OLS以及VPD的区别(转)相关推荐
- oracle里面的锁,基于oracle中锁的深入理解
ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 ...
- oracle里的ols机制,Oracle ASM的AU(Allocation units)分配
Oracle ASM的AU(Allocation units)分配 SQL> select group_number,name,sector_size,block_size,allocation ...
- Oracle里default什么意思,ORACLE中默认值default的使用方法.doc
ORACLE中默认值default的使用方法 在创建数据库表时,你可以指定一个 DEFAULT 值(即默认值).对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离. 可以在以后某个时候通过 ...
- oracle里返回值吗,Oracle有返回值的存储过程 | 学步园
创建一个有输入输出的存储过程: CREATE OR REPLACE PROCEDURE sp_pro8 (spno IN NUMBER,spName OUT VARCHAR2) IS BEGIN SE ...
- oracle 里数据的编码格式,oracle 数据的编码格式
一.oracle 数据库与其他数据库在数据类型上的区别 1.数字:以前int ,oracle :number:无限定,number(3) :3位字符,3个字节.number(6,2):4位整数,2位 ...
- oracle里查询表的语句,Oracle查询用户所有表的语句
下面为您介绍的语句用于实现Oracle查询用户所有表,如果您对oracle查询方面感兴趣的话,不妨一看.select * from all_tab_commen 下面为您介绍的语句用于实现Oracle ...
- oracle的默认隔离机制,Oracle默认事务隔离级别
首先session 1中两次获取同一条数据: -- 关于oracle事务隔离级别 session 1 declare v_old VARCHAR2(32); v_now VARCHAR2(32); v ...
- oracle里的超级用户,Oracle中超级用户权限的管理
Oracle 的用户根据所被授予的权限分为系统权限和对象权限.其中最高的权限是sysdba. Sysdba具有控制Oracle一切行为的特权,诸如创建.启动.关闭.恢复数据库,使数据库归档/非归档,备 ...
- Oracle里default什么意思,Oracle表属性degree有三个值,1、n、default;为default有官方的说明是什么意思么?...
只搜索到官方的这个hint,没有表的default说明 For a statement-level PARALLEL hint: ■ PARALLEL: The statement always is ...
最新文章
- python3并发编程基础
- 数据集神经网络共同进步
- 搜索文件夹下包含的文件
- centos7上配置Samba服务器完成与windows的文件共享
- 20个常用的正则表达式
- 决策树(Decision Tree,DT)
- js计算排名_今天,我们讲一下,快速排名与黑帽SEO
- 垃圾收集六大算法全面理解
- 实例解析网络编程中的另类内存泄漏
- 【代码备份】ORACLE数据库表同步DBLINK
- 自动挡轿车等红灯时,是挂D挡踩刹车好还是挂N挡好呢?
- CodeIgniter的伪静态配置
- cube云原生机器学习平台-架构(二)
- 分布式SQL查询引擎---presto介绍,连接器
- Nodejs解压版安装
- linux磁盘写入数据丢失,江湖救急!磁盘数据丢失的救星TestDisk
- linux谷歌浏览器总是崩溃,Ubuntu 18.04谷歌浏览器Chrome卡死的原因及解决
- python傅里叶逆变换_Python傅里叶逆变换
- 差点跑进奥运会赛场的“人类计算机之父”
- Apache服务器配置参数的全面说明(所有参数)