ATTACH MASKING POLICY - Amazon Redshift

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_pathperson.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 に設定されます。