一、Oracle Data Redaction 核心功能 Data Redaction 是 Oracle 数据库(12c 及以上版本)的高级安全特性,用于在查询返回结果时动态改写敏感数据,而无需修改底层存储的数据。 其主要特点包括: 1 实时动态改写 在 SQL 执行结果的最后阶段(返回客户端前)应用改写策略。 2 透明性 不影响数据存储格式、数据类型或后端约束(如触发器、外键)。 3 精细控制 基于用户会话、应用程序上下文等条件触发策略。 五种改写类型 类型 适用场景 示例效果 支持数据类型 FULL 全字段改写 数字→0,字符→空格,日期→2001-01-01 所有类型 PARTIAL 部分遮蔽(固定长度) 123-45-6789 → ***-**-6789 字符、数字 REGEXP 基于正则表达式匹配的遮蔽 邮箱 test@example.com → ****@****.com 仅字符类型 RANDOM 生成随机值替换原数据 数字 1000 → 8392 所有类型 NONE 测试策略逻辑(无实际改写) 显示原始数据,用于策略验证 所有类型 -- 创建测试用户及表 CREATE USER demo_user IDENTIFIED BY demo_pass; GRANT CONNECT, RESOURCE TO demo_user; CREATE TABLE demo_user.employees ( employee_id NUMBER, full_name VARCHAR2(50), ssn VARCHAR2(11) -- 格式: 000-00-0000 ); INSERT INTO demo_user.employees VALUES (1, 'Alice Smith', '123-45-6789'); COMMIT; -- 添加策略 BEGIN DBMS_REDACT.ADD_POLICY( object_schema => 'DEMO_USER', object_name => 'EMPLOYEES', column_name => 'SSN', policy_name => 'REDACT_SSN', function_type => DBMS_REDACT.PARTIAL, function_parameters => 'VVVFVVFVVVV,VVV-VV-VVVV,*,1,5', -- 关键:长度均为11 expression => 'SYS_CONTEXT(''USERENV'', ''SESSION_USER'') != ''HR_ADMIN''' ); END; / -- 普通用户查询 SELECT ssn FROM demo_user.employees; -- 结果:***-**-6789 -- HR_ADMIN 用户查询 SELECT ssn FROM demo_user.employees; -- 结果:123-45-6789(原始数据) -- 在现有策略中新增(EMPLOYEE_ID)列随机遮蔽 BEGIN DBMS_REDACT.ALTER_POLICY( object_schema => 'DEMO_USER', object_name => 'EMPLOYEES', policy_name => 'REDACT_SSN', action => DBMS_REDACT.ADD_COLUMN, column_name => 'EMPLOYEE_ID', function_type => DBMS_REDACT.RANDOM ); END; / 查询 SQL> select * from demo_user.employees; EMPLOYEE_ID FULL_NAME SSN ----------- -------------------------------------------------- ----------- 4 Alice Smith ***-**-6789 SQL> select * from demo_user.employees; EMPLOYEE_ID FULL_NAME SSN ----------- -------------------------------------------------- ----------- 2 Alice Smith ***-**-6789 -- 修改策略 BEGIN DBMS_REDACT.ALTER_POLICY( object_schema => 'DEMO_USER', object_name => 'EMPLOYEES', policy_name => 'REDACT_SSN', action => DBMS_REDACT.MODIFY_COLUMN, column_name => 'SSN', function_type => DBMS_REDACT.RANDOM ); END; / 查询 select * from demo_user.employees; EMPLOYEE_ID FULL_NAME SSN ----------- -------------------------------------------------- ----------- 7 Alice Smith -ku,/2Y85s}
Oracle Data Redaction 核心功能
来源:这里教程网
时间:2026-03-03 22:17:38
作者:
编辑推荐:
- Oracle Data Redaction 核心功能03-03
- Flashback Archive03-03
- YU7不便宜,为什么还让人觉得“赚到了”?03-03
- Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用03-03
- oracle 23ai通过接口访问deepseek模型03-03
- 一招解锁:快速解决Oracle ORA-38029错误03-03
- pdb通过数据泵备份恢复示例03-03
- 雨花用诚意写下“背包客创业指南”!03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- YU7不便宜,为什么还让人觉得“赚到了”?
YU7不便宜,为什么还让人觉得“赚到了”?
26-03-03 - Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用
Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用
26-03-03 - oracle 23ai通过接口访问deepseek模型
oracle 23ai通过接口访问deepseek模型
26-03-03 - 一招解锁:快速解决Oracle ORA-38029错误
一招解锁:快速解决Oracle ORA-38029错误
26-03-03 - 雨花用诚意写下“背包客创业指南”!
雨花用诚意写下“背包客创业指南”!
26-03-03 - 谁在为三块钱的冰杯买单?
谁在为三块钱的冰杯买单?
26-03-03 - Oracle LibCache等待优化(一)
Oracle LibCache等待优化(一)
26-03-03 - 19c中创建rman catalog
19c中创建rman catalog
26-03-03 - 楼下那家便利店,也许比你想得重要得多
楼下那家便利店,也许比你想得重要得多
26-03-03 - 19c多租户架构下的UNDO管理- Local Undo
19c多租户架构下的UNDO管理- Local Undo
26-03-03
