暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE VPD技术

原创 章芋文 2013-05-03
1484
官方解释:
Virtual private database (VPD) enables you to enforce security, to a fine level of granularity, directly on tables, views, or synonyms. Because security policies are attached directly to tables, views, or synonyms and automatically applied whenever a user accesses data, there is no way to bypass security.

虚拟专用数据库 (VPD)简单解释就是针对用户创建不同的策略,过滤部分数据,做到细粒度访问,这些策略直接创建在对象上,当用户连接到数据库时,自动应用这些策略(执行SQL时默认加上WHERE条件),类似一个策略创建一个视图。
比如该用户只能看到13年的数据,策略中就应该是where casetime>=to_date('2013','yyyy');
比如恩墨科技中BOSS的工资不能让其他用户看到,策略就应该是where deptname<>'BOSS'。
用户执行SQL:select count(*) from enmo_emp; 实际上执行的是 select count(*) from enmo_emp where deptname<>'BOSS';
通过DBMS_RLS.add_policy和DBMS_RLS.drop_policy来创建和删除策略。
创建后可在user_policies中查看相关信息
select OBJECT_NAME,POLICY_GROUP,POLICY_NAME from user_policies;
不过sys可以绕过策略,查看到所有数据。
后面会给出详细的实例讲解。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论