

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

# 動的データマスキングポリシー階層
<a name="t_ddm-hierarchy"></a>

複数のマスキングポリシーをアタッチする場合は、以下を考慮します。
+ 複数のマスキングポリシーを 1 つの列にアタッチできます。
+ 複数のマスキングポリシーがクエリに適用される場合、それぞれの列にアタッチされている最も優先度の高いポリシーが適用されます。次の例を考えます。

  ```
  ATTACH MASKING POLICY partial_hash
  ON credit_cards(address, credit_card)
  TO ROLE analytics_role 
  PRIORITY 20;
  
  ATTACH MASKING POLICY full_hash
  ON credit_cards(credit_card, ssn)
  TO ROLE auditor_role 
  PRIORITY 30;
  
  SELECT address, credit_card, ssn
  FROM credit_cards;
  ```

  SELECT ステートメントを実行すると、分析と監査の両方のロールを持つユーザーには、`partial_hash` マスキングポリシーが適用されたアドレス列が表示されます。クレジットカード列では `full_hash` ポリシーの優先度が高いため、`full_hash` マスキングポリシーが適用されたクレジットカード列と SSN 列が表示されます。
+  マスキングポリシーをアタッチするときに優先度を指定しない場合、デフォルトの優先度は 0 です。
+ 同じ列に 2 つのポリシーを同じ優先度でアタッチすることはできません。
+ ユーザーと列、またはロールと列の同じ組み合わせに 2 つのポリシーをアタッチすることはできません。
+ 同じユーザーまたはロールにアタッチされているときに、同じ SUPER パスに複数のマスキングポリシーが適用される場合、最も優先順位の高いアタッチメントのみが有効になります。次に挙げるサンプルを参考にしてください。

  最初の例は、同じパスに 2 つのマスキングポリシーがアタッチされ、優先順位の高いポリシーが有効になっていることを示しています。

  ```
  ATTACH MASKING POLICY hide_name
  ON employees(col_person.name)
  TO PUBLIC
  PRIORITY 20;
  
  ATTACH MASKING POLICY hide_last_name
  ON employees(col_person.name.last)
  TO PUBLIC
  PRIORITY 30;
  
  --Only the hide_last_name policy takes effect.
  SELECT employees.col_person.name FROM employees;
  ```

  2 つ目の例は、同じ SUPER オブジェクト内の異なるパスに 2 つのマスキングポリシーがアタッチされているため、ポリシー間で競合が発生していないことを示しています。両方のアタッチメントが同時に適用されます。

  ```
  ATTACH MASKING POLICY hide_first_name
  ON employees(col_person.name.first)
  TO PUBLIC
  PRIORITY 20;
  
  ATTACH MASKING POLICY hide_last_name
  ON employees(col_person.name.last)
  TO PUBLIC
  PRIORITY 20;
  
  --Both col_person.name.first and col_person.name.last are masked.
  SELECT employees.col_person.name FROM employees;
  ```

特定のユーザーと列またはロールと列の組み合わせにどのマスキングポリシーが適用されるかを確認するには、[https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html](https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html) ロールを持つユーザーが、[SVV\$1ATTACHED\$1MASKING\$1POLICY](r_SVV_ATTACHED_MASKING_POLICY.md) システムビューで列/ロールまたは列/ユーザーのペアを検索できます。詳細については、「[動的データマスキングのシステムビュー](r_ddm-svv.md)」を参照してください。