ATTACH MASKING POLICY
既存の動的データマスキングポリシーを列にアタッチします。動的データマスキングの詳細については、「動的データマスキング」を参照してください。
スーパーユーザーと sys:secadmin ロールを持つユーザーまたはロールは、マスキングポリシーをアタッチできます。
構文
ATTACH MASKING POLICY policy_name ON { relation_name } ( {output_columns_names | output_path} ) [ USING ( {input_column_names | input_path )} ] TO { user_name | ROLE role_name | PUBLIC } [ PRIORITY priority ];
パラメータ
- policy_name
-
アタッチするマスキングポリシーの名前。
- relation_name
-
マスキングポリシーをアタッチするリレーションの名前。
- output_column_names
-
マスキングポリシーが適用される列の名前。
- output_paths
-
マスキングポリシーが適用される SUPER オブジェクトのフルパス (列名を含む)。例えば、
person
という SUPER 型の列を使用したリレーションの場合、output_path はperson.name.first_name
になります。 - input_column_names
-
マスキングポリシーが入力として受け取る列の名前。このパラメータはオプションです。指定しない場合、マスキングポリシーは output_column_names を入力として使用します。
- input_paths
-
マスキングポリシーが入力として受け取る SUPER オブジェクトのフルパス。このパラメータはオプションです。指定しない場合、マスキングポリシーは output_path を入力に使用します。
- user_name
-
マスキングポリシーをアタッチするユーザーの名前。ユーザーと列、またはロールと列の同じ組み合わせに 2 つのポリシーをアタッチすることはできません。ポリシーをユーザーに、別のポリシーをユーザーのロールにアタッチできます。この場合、優先度の高いポリシーが適用されます。
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user_name、role_name、PUBLIC のいずれか 1 つのみです。
- role_name
-
マスキングポリシーがアタッチされるロールの名前。同じ列/ロールのペアに 2 つのポリシーをアタッチすることはできません。ポリシーをユーザーに、別のポリシーをユーザーのロールにアタッチできます。この場合、優先度の高いポリシーが適用されます。
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user_name、role_name、PUBLIC のいずれか 1 つのみです。
- PUBLIC
-
テーブルにアクセスするすべてのユーザーにマスキングポリシーをアタッチします。特定の列/ユーザーまたは列/ロールのペアにアタッチされている他のマスキングポリシーを適用するには、PUBLIC ポリシーよりも高い優先度を設定する必要があります。
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user_name、role_name、PUBLIC のいずれか 1 つのみです。
- priority
-
マスキングポリシーの優先度。特定のユーザーのクエリに複数のマスキングポリシーが適用される場合、最も優先度の高いポリシーが適用されます。
2 つの異なるポリシーを同じ優先順位で同じ列にアタッチすることはできません。2 つの異なるポリシーが別々のユーザーまたはロールにアタッチされている場合でも同様です。ポリシーをアタッチするユーザーまたはロールが毎回異なる場合に限り、同じポリシーを同じテーブル、出力列、入力列、優先度のパラメータのセットに複数回アタッチできます。
ロールが異なっていても、その列にアタッチされている別のポリシーと同じ優先度の列にポリシーを適用することはできません。このフィールドはオプションです。優先度を指定しない場合、マスキングポリシーのアタッチの優先度はデフォルトで 0 に設定されます。