Description #
The CREATE MASK RULE syntax is used to create a mask rule.
Syntax #
createMaskRule ::=
'CREATE' 'MASK' 'RULE' ifNotExists? maskRuleDefinition (',' maskRuleDefinition)*
maskRuleDefinition ::=
ruleName '(' 'COLUMNS' '(' columnDefinition (',' columnDefinition)* ')' ')'
columnDefinition ::=
'(' 'NAME' '=' columnName ',' algorithmDefinition ')' | '(' 'NAME' '=' columnName ',' algorithmGroupsDefinition ')'
ifNotExists ::=
'IF' 'NOT' 'EXISTS'
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
Note #
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.- Duplicate
ruleNamewill not be created;
Example #
Create a mask rule #
CREATE 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'))
));
Create data masking rules and bind users #
CREATE 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'='root'))))))));
Create mask rule with ifNotExists clause
#
CREATE MASK RULE IF NOT EXISTS 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'))
));
Create mask rule with ifNotExists clause and bind users
#
CREATE MASK RULE IF NOT EXISTS 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'='root'))))))));
Reserved words #
CREATE, MASK, RULE, COLUMNS, NAME, TYPE, MATCHING_ALGORITHM, MASK_ALGORITHM, ALGORITHM_GROUPS