Description #
The ALTER MASK RULE syntax is used to create a mask rule.
Syntax #
alterMaskRule ::=
'ALTER' 'MASK' 'RULE' maskRuleDefinition (',' maskRuleDefinition)*
maskRuleDefinition ::=
ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'
columnDefinition ::=
'(' 'NAME' '=' columnName ',' algorithmDefinition ')' | '(' 'NAME' '=' columnName ',' algorithmGroupsDefinition ')'
algorithmGroupsDefinition ::=
'ALGORITHM_GROUPS' '(' algorithmGroupDefinition (',' algorithmGroupDefinition)* ')'
algorithmGroupDefinition ::=
'(' maskAlgorithm ',' matchingAlgorithm ')'
maskAlgorithm ::=
'MASK_ALGORITHM' '(' algorithmDefinition ')'
matchingAlgorithm ::=
'MATCHING_ALGORITHM' '(' algorithmDefinition ')'
algorithmDefinition ::=
'TYPE' '(' 'NAME' '=' algorithmTypeName (',' propertiesDefinition)? ')'
maskAlgorithmType ::=
literal
ruleName ::=
identifier
columnName ::=
identifier
propertiesDefinition ::=
'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
key ::=
string
value ::=
literal
Supplement #
maskAlgorithmused to config data masking algorithm. For available types, please refer to Data Masking Algorithm.matchingAlgorithmis used to configure the data masking matching binding algorithm. For available types, please refer to Data Masking Matching Algorithm.
Example #
Alter a mask rule #
ALTER MASK RULE t_mask (
COLUMNS(
(NAME=phone_number,TYPE(NAME='MASK_FROM_X_TO_Y', PROPERTIES("from-x"=1, "to-y"=2, "replace-char"="*"))),
(NAME=address,TYPE(NAME='MD5'))
));
Modify data masking rules and bind users #
ALTER MASK RULE t_mask (
COLUMNS(
(NAME=phone_number,ALGORITHM_GROUPS(
(MASK_ALGORITHM(TYPE(NAME='MASK_FROM_X_TO_Y',PROPERTIES('from-x'=1, 'to-y'=2, 'replace-char'='*'))),
MATCHING_ALGORITHM(TYPE(NAME='SphereEx:MASK_USERNAME', PROPERTIES('user-lists'='sharding'))))))));
Reserved words #
ALTER, MASK, RULE, COLUMNS, NAME, TYPE, MATCHING_ALGORITHM, MASK_ALGORITHM, ALGORITHM_GROUPS