ATTACH MASKING POLICY
将现有动态数据屏蔽策略附加到列。有关动态数据屏蔽的更多信息,请参阅 动态数据屏蔽(预览版)。
超级用户和具有 sys:secadmin 角色的用户或角色可以附加屏蔽策略。
语法
ATTACH MASKING POLICY policy_name ON { table_name } ( output_columns_names ) [ USING ( input_column_names ) ] TO { user_name | ROLE role_name | PUBLIC } [ PRIORITY priority ];
参数
- policy_name
-
要附加的屏蔽策略的名称。
- table_name
-
要将屏蔽策略附加到其中的表的名称。
- output_column_names
-
将要应用屏蔽策略的列的名称。
- input_column_names
-
将用作屏蔽策略输入的列的名称。此参数为可选项。如果未指定,则屏蔽策略使用 output_column_names 作为输入。
- user_name
-
要附加屏蔽策略的用户的名称。您不能将两个策略附加到同一个列/用户对。您可以将一个策略附加到用户,将另一个策略附加到该用户的角色。在这种情况下,优先级较高的策略适用。
在单个 ATTACH MASKING POLICY 命令中,您只能设置 user_name、role_name 和 PUBLIC 中的一项。
- role_name
-
要附加屏蔽策略的角色的名称。您不能将两个策略附加到同一个列/角色对。您可以将一个策略附加到用户,将另一个策略附加到该用户的角色。在这种情况下,优先级较高的策略适用。
在单个 ATTACH MASKING POLICY 命令中,您只能设置 user_name、role_name 和 PUBLIC 中的一项。
- PUBLIC
-
将屏蔽策略附加到访问表的所有用户。您必须为附加到特定列/用户或列/角色对的其他屏蔽策略分配比 PUBLIC 策略更高的优先级,这样才能让这些策略适用。
在单个 ATTACH MASKING POLICY 命令中,您只能设置 user_name、role_name 和 PUBLIC 中的一项。
- priority
-
屏蔽策略的优先级。当多个屏蔽策略应用于给定用户的查询时,具有最高优先级的策略适用。
即使两个策略适用于不同的角色,您也无法将一个策略应用于与该列中附加的另一个策略具有相同优先级的列。此字段为可选项。如果未指定优先级,则屏蔽策略默认为优先级为 0。