注册
数据脱敏
技术分享/ 文章详情 /

数据脱敏

Chai 2025/02/14 236 0 0

SQL脚本:
1、修改参数
修改参数为1的操作,改完之后需要重启数据库实例
SP_CREATE_SYSTEM_PACKAGES(1,‘DBMS_RLS’);
2、创建包
SP_CREATE_SYSTEM_PACKAGES(1,‘DBMS_RLS’);
3、创建表:
create table ECOLOGY_TARGET.TEST(id int,name varchar(20));
insert into ECOLOGY_TARGET.TEST values(1,‘AAA’);
insert into ECOLOGY_TARGET.TEST values(2,‘BBB’);
insert into ECOLOGY_TARGET.TEST values(3,‘CCC’);–敏感用户数据
4、创建函数,脱敏id为3的数据
CREATE OR REPLACE FUNCTION FN_GETPOLICY(
P_SCHEMA IN VARCHAR2,
P_OBJECT IN VARCHAR2
)
RETURN VARCHAR2 IS RESULT VARCHAR2(1000);
BEGIN
RESULT:=‘id !=3’;
RETURN(RESULT);
END;
5、添加到策略当中
DBMS_RLS.ADD_POLICY(
OBJECT_SCHEMA =>‘ECOLOGY_TARGET’, --数据表(或视图)所在的SCHEMA名称
OBJECT_NAME =>‘TEST’, --数据表(或视图)的名称
POLICY_NAME =>‘TEST_POLICY’, --POLICY的名称,主要用于将来对POLICY的管理
FUNCTION_SCHEMA =>‘ECOLOGY_TARGET’, --返回WHERE子句的函数所在SCHEMA名称
POLICY_FUNCTION =>‘FN_GETPOLICY’, --返回WHERE子句的函数名称
STATEMENT_TYPES =>‘SELECT,INSERT,UPDATE,DELETE’, --要使用该POLICY的DML类型
UPDATE_CHECK =>1, --仅适用于STATEMENT_TYPE为’INSERT,UPDATE’,值为1或 0
ENABLE =>1 --是否启用,值为1或0
);
6、进行查询
image.png
ECOLOGY_TARGET这个用户无法查询id为3的数据

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服