dws
创建Redact策略
更新时间:2020/11/12 GMT+08:00
使用函数创建Redact策略,GaussDB(DWS)提供如下函数接口:
DBMS_REDACT.ADD_POLICY ( object_schema IN name, object_name IN name, policy_name IN name, column_name IN name default NULL, function_type IN int2 default 1, function_parameters IN Text default NULL, expression IN Text, enable IN BOOLEAN default TRUE, regexp_pattern IN Text default NULL, regexp_replace_string IN Text default NULL, regexp_position IN int4 defalult 1, regexp_occurrence IN int4 defalut 0, regexp_match_parameter IN Text default NULL, policy_description IN Text default NULL, column_description IN Text default NULL )
其中:
- object_schema,指定要脱敏对象的schema。
- object_name,表示要脱敏的表名。
- policy_name,表示redact策略名称。
- column_name,表示需要脱敏的列名称。为空时仅创建policy不会创建redact_column,所以此时不会有脱敏列生效。
- function_type,表示重编函数类型。可选值为NONE和FULL,默认为FULL,针对脱敏列生效。
- NONE:列对象上无脱敏策略,原文显示。
- FULL:列对象完全被脱敏为一个固定值。
- function_parameters,表示重编函数参数。只有function_type=PARTIAL时有效,其他重编方式被忽略。
- expression,只有expression为true时,重编动作才会生效,若对所有人生效使用‘1=1’,否则使用sys_context函数表达式。expression支持SYS_CONTEXT的含参表达式作为判断依据。
- 支持CURRENT_USER参数的表达式,策略针对用户过滤生效。
function_parameters => ‘SYS_CONTEXT(“USERENV”, “CURRNET_USER”) != “HR”’
- 支持and,or,in连接多个表达式。
function_parameters => ‘SYS_CONTEXT(“USERENV”, “CURRNET_USER”) = “HR” and SYS_CONTEXT(“USERENV”, “USER_GROUP”) = “GAUSS”’
- 支持CURRENT_USER参数的表达式,策略针对用户过滤生效。
- enable,表示创建动作后policy是否生效,默认TRUE。
- regexp_pattern,表示正则pattern,只有function_type=REGEXP时生效。
- regexp_replace_string,表示正则替换字符串。
- regexp_position,表示正则源字符串进行匹配的开始位置。
- regexp_occurrence,表示替换第n个匹配到的字符串,设置为0时替换所有匹配字符串。
- regexp_match_parameter,表示正则匹配动作参数。
- policy_description,表示policy的描述。
- column_description,表示如果指定column_name,可以添加关于column的描述。
父主题: 数据脱敏函数
