Oracle Database 12c Data Redaction介绍(2)

clip_image016

4. 测试策略:

使用SQL*PLUS登录HR用户,可以查看所有数据。

clip_image018

使用SCOTT用户登录,查看到的是这个样子:

clip_image020

如果我们把策略生效的条件改为“会话用户为HR”,那么即使HR是这个表的OWNER,也只能看到改写后的数据:

clip_image022

其他类型的策略表达式

现实环境中,许多应用都是使用一个数据库用户登录的,所以数据改写的生效条件也可以是根据Client端信息或应用程序信息进行判断。当然,在应用程序中,必须要设置相关的CONTEXT。注意,如果应用的用户拥有DBA权限,数据改写就无效了。

clip_image024

我们使用SQL*PLUS模拟应用使用同一个数据库用户,利用CONTEXT实现数据改写。(实际上是不同应用用户,使用不同的CONTEXT。)

我们使用HR登录,将MODULE手工设置成“HRMS”。

clip_image026

当我们MODULE设置为其他值时(模拟切换不同类型的应用用户),则数据改写策略不生效。

clip_image028

APEX环境下的例子

在安装了APEX环境的数据库中,配合APEX使用数据改写也非常简单,利用APEX的PL/SQL表达式写法,引用应用用户名,以下是例子:

clip_image030

其他用户登录应用效果:

clip_image032

Test_user1登录应用的效果:

clip_image034

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/228048a4d202e901acadd151bc9fb8c1.html