

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# ATTACH MASKING POLICY
<a name="r_ATTACH_MASKING_POLICY"></a>

既存の動的データマスキングポリシーを列にアタッチします。動的データマスキングの詳細については、「[動的データマスキング](t_ddm.md)」を参照してください。

スーパーユーザーと sys:secadmin ロールを持つユーザーまたはロールは、マスキングポリシーをアタッチできます。

## 構文
<a name="r_ATTACH_MASKING_POLICY-synopsis"></a>

```
ATTACH MASKING POLICY 
{
  policy_name ON relation_name
  | database_name.policy_name ON database_name.schema_name.relation_name
}
( { output_column_names | output_path } )
[ USING ( { input_column_names | input_path } ) ]
TO { user_name | ROLE role_name | PUBLIC }
[ PRIORITY priority ];
```

## パラメータ
<a name="r_ATTACH_MASKING_POLICY-parameters"></a>

*policy\$1name*   
アタッチするマスキングポリシーの名前。

database\$1name  
ポリシーとリレーションが作成されるデータベースの名前。ポリシーとリレーションは同じデータベースに存在する必要があります。データベースは、接続されたデータベースでも、Amazon Redshift フェデレーティッドアクセス許可をサポートするデータベースでもかまいません。

schema\$1name  
リレーションが属するスキーマの名前。

 *relation\$1name*   
マスキングポリシーをアタッチするリレーションの名前。

*output\$1column\$1names*   
マスキングポリシーが適用される列の名前。

*output\$1paths*   
マスキングポリシーが適用される SUPER オブジェクトのフルパス (列名を含む)。例えば、`person` という SUPER 型の列を使用したリレーションの場合、*output\$1path* は `person.name.first_name` になります。

*input\$1column\$1names*   
マスキングポリシーが入力として受け取る列の名前。このパラメータはオプションです。指定しない場合、マスキングポリシーは *output\$1column\$1names* を入力として使用します。

*input\$1paths*   
マスキングポリシーが入力として受け取る SUPER オブジェクトのフルパス。このパラメータはオプションです。指定しない場合、マスキングポリシーは *output\$1path* を入力に使用します。

*user\$1name*   
マスキングポリシーをアタッチするユーザーの名前。ユーザーと列、またはロールと列の同じ組み合わせに 2 つのポリシーをアタッチすることはできません。ポリシーをユーザーに、別のポリシーをユーザーのロールにアタッチできます。この場合、優先度の高いポリシーが適用されます。  
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user\$1name、role\$1name、PUBLIC のいずれか 1 つのみです。

*role\$1name*   
マスキングポリシーがアタッチされるロールの名前。同じ列/ロールのペアに 2 つのポリシーをアタッチすることはできません。ポリシーをユーザーに、別のポリシーをユーザーのロールにアタッチできます。この場合、優先度の高いポリシーが適用されます。  
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user\$1name、role\$1name、PUBLIC のいずれか 1 つのみです。

*PUBLIC*   
テーブルにアクセスするすべてのユーザーにマスキングポリシーをアタッチします。特定の列/ユーザーまたは列/ロールのペアにアタッチされている他のマスキングポリシーを適用するには、PUBLIC ポリシーよりも高い優先度を設定する必要があります。  
1 回の ATTACH MASKING POLICY コマンドで設定できるのは、user\$1name、role\$1name、PUBLIC のいずれか 1 つのみです。

*priority*   
マスキングポリシーの優先度。特定のユーザーのクエリに複数のマスキングポリシーが適用される場合、最も優先度の高いポリシーが適用されます。  
2 つの異なるポリシーを同じ優先順位で同じ列にアタッチすることはできません。2 つの異なるポリシーが別々のユーザーまたはロールにアタッチされている場合でも同様です。ポリシーをアタッチするユーザーまたはロールが毎回異なる場合に限り、同じポリシーを同じテーブル、出力列、入力列、優先度のパラメータのセットに複数回アタッチできます。  
ロールが異なっていても、その列にアタッチされている別のポリシーと同じ優先度の列にポリシーを適用することはできません。このフィールドはオプションです。優先度を指定しない場合、マスキングポリシーのアタッチの優先度はデフォルトで 0 に設定されます。

Amazon Redshift フェデレーティッドアクセス許可カタログでの ATTACH MASKING POLICY の使用については、[Amazon Redshift フェデレーティッドアクセス許可によるアクセスコントロールの管理](https://docs.aws.amazon.com/redshift/latest/dg/federated-permissions-managing-access.html)についての記事を参照してください。