[Oracle] 数据库安全之 - 虚拟私有数据库 (VPD)

Oracle的数据库安全涵盖用户管理、访问控制、数据保护和监控。VPD(Virtual Private Database)作为访问控制的一种技术,自Oracle 8i起就存在。VPD通过策略自动在SQL中添加过滤条件,实现用户只能查看其有权访问的数据,从而提供定制化的数据访问体验。示例展示了不同用户即便使用相同SQL,因VPD策略也会得到不同结果。
摘要由CSDN通过智能技术生成

Oracle的安全分为四大部分,分别是用户管理、访问控制、数据保护和监控,具体可参考《[Oracle] 数据库安全概述》http://blog.csdn.net/u010415792/article/details/9008089

今天着重讲讲访问控制中一种常见的技术VPD,VPD的全称是Virtual Private Database 虚拟私有数据库,它在Oracle 8i时就出现了,是Oracle比较早期的一种数据安全手段。

它是指通过指定策略,对用户的SQL自动添加过滤谓词,以达到对结果集进行过滤的目的,其示意图如下:



其大致过程如下:用户发出SQL语句访问表中数据,此时触发定义在该表上的安全策略,该安全策略会在相应的列上加上Where谓词条件,最终返回给用户的是过滤后的结果集。这样用户只能看到自己有权限看到的数据,其效果如下图所示:



用户1和用户2虽然发出了两个一模一样的SQL语句,但根据相应的安全策略,他们得到的结果有可能不一样,就像访问自己私有的数据库一样,这也是为什么这项技术叫虚拟私有数据库。下面看几个例子:

1)首先,创建一个函数,该函数定义要加哪些谓词条件:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值