更新时间:2022-08-16 GMT+08:00

ALTER REDACTION POLICY

功能描述

修改应用在指定表的脱敏策略。

注意事项

只有待修改脱敏策略所应用表对象的属主才有修改脱敏策略的权限。

语法格式

  • 修改脱敏策略生效表达式:
    1
    ALTER REDACTION POLICY policy_name ON table_name WHEN (new_when_expression);
    
  • 使脱敏策略生效或失效:
    1
    ALTER REDACTION POLICY policy_name ON table_name ENABLE | DISABLE;
    
  • 重命名脱敏策略:
    1
    ALTER REDACTION POLICY policy_name ON table_name RENAME TO new_policy_name;
    
  • 修改脱敏列,包括新增、修改、删除脱敏列:
    1
    2
    ALTER REDACTION POLICY policy_name ON table_name 
        action;
    

    其中,脱敏列操作action可以是以下子句之一:

    1
    2
    3
    ADD COLUMN column_name WITH function_name ( arguments )
      | MODIFY COLUMN column_name WITH function_name ( arguments )
      | DROP COLUMN column_name
    

参数说明

  • policy_name

    待修改的脱敏策略名。

  • table_name

    待修改的脱敏策略应用的表对象名。

  • new_when_expression

    脱敏策略新的生效表达式。

  • ENABLE | DISABLE

    当前脱敏策略是否生效。

    • ENABLE

      使之前失效的表对象的脱敏策略重新生效。

    • DISABLE

      使当前应用在表对象的脱敏策略失效。

  • new_policy_name

    新的脱敏策略名。

  • column_name

    脱敏表对象的列字段名。

    如果新增脱敏列,则指定列字段尚未绑定任何脱敏函数。

    如果修改脱敏列,则指定列字段为已存在的脱敏列。

    如果删除脱敏列,则指定列字段为已存在的脱敏列。

  • function_name

    脱敏函数名。

  • arguments

    脱敏函数的参数列表。

示例

修改脱敏策略生效表达式,使其所有用户均生效:

1
ALTER REDACTION POLICY mask_emp ON emp WHEN (1=1);

修改脱敏策略,使其失效:

1
ALTER REDACTION POLICY mask_emp ON emp DISABLE;

重新使脱敏策略生效:

1
ALTER REDACTION POLICY mask_emp ON emp ENABLE;

重命名脱敏策略为mask_emp_new:

1
ALTER REDACTION POLICY mask_emp ON emp RENAME TO mask_emp_new;

新增脱敏列:

1
ALTER REDACTION POLICY mask_emp_new ON emp ADD COLUMN name WITH mask_partial(name, '*', 1, length(name));

修改脱敏列name,采用脱敏函数MASK_FULL对name字段数据全脱敏:

1
ALTER REDACTION POLICY mask_emp_new ON emp MODIFY COLUMN name WITH mask_full(name);

删除已存在的脱敏列:

1
ALTER REDACTION POLICY mask_emp_new ON emp DROP COLUMN name;