

 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/)を参照してください。

# CREATE MASKING POLICY
<a name="r_CREATE_MASKING_POLICY"></a>

新しい動的データマスキングポリシーを作成して、指定した形式のデータを難読化します。動的データマスキングの詳細については、「[動的データマスキング](t_ddm.md)」を参照してください。

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

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

```
CREATE MASKING POLICY 
   { policy_name | database_name.policy_name } [IF NOT EXISTS]
   WITH (input_columns)
   USING (masking_expression);
```

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

 *policy\_name*   
マスキングポリシーの名前。マスキングポリシーには、データベースに既に存在する別のマスキングポリシーと同じ名前を付けることはできません。

database\_name  
ポリシーが作成されるデータベースの名前。ポリシーは、接続されたデータベースまたは Amazon Redshift フェデレーティッドアクセス許可カタログで作成できます。

*input\_columns*   
(col1 データ型、col2 データ型...) 形式の列名のタプル。  
列名はマスキング式の入力として使用されます。列名はマスクされる列の名前と一致する必要はありませんが、入力と出力のデータ型は一致する必要があります。

*masking\_expression*  
ターゲット列の変換に使用される SQL 式。文字列操作関数などのデータ操作関数を使用して記述することも、SQL、Python、または AWS Lambda で記述されたユーザー定義関数と組み合わせて記述することもできます。マスキングポリシーに複数の出力がある場合は、列式のタプルを含めることができます。マスク式として定数を使用する場合は、入力型と一致する型に明示的にキャストする必要があります。  
 マスキング式で使用するユーザー定義関数には USAGE アクセス許可が必要です。

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