ATTACH RLS POLICY - Amazon Redshift

Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事を参照してください。

ATTACH RLS POLICY

行レベルのセキュリティポリシーをテーブルで 1 人以上のユーザーまたはロールにアタッチします。

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

構文

ATTACH RLS POLICY policy_name ON [TABLE] table_name [, ...] TO { user_name | ROLE role_name | PUBLIC } [, ...]

パラメータ

policy_name

ポリシーの名前。

ON [TABLE] table_name [, ...]

行レベルのセキュリティポリシーがアタッチされているリレーション。

TO { user_name | ROLE role_name | PUBLIC} [, ...]

ポリシーが指定した 1 つ以上のユーザーまたはロールにアタッチするかどうか指定します。

使用に関する注意事項

ATTACH RLS POLICY ステートメントを使用する際、次の点に注意してください。

  • アタッチされるテーブルには、ポリシー作成ステートメントの WITH 句に一覧表示されているすべての列が含まれている必要があります。

  • Amazon Redshift RLS では、以下のオブジェクトに RLS ポリシーをアタッチできます。

    • テーブル

    • ビュー

    • 遅延バインドビュー

    • 具体化されたビュー

  • Amazon Redshift RLS は、以下のオブジェクトへの RLS ポリシーのアタッチをサポートしていません。

    • カタログテーブル

    • データベース間のリレーション

    • 外部テーブル

    • 一時テーブル

    • ポリシールックアップテーブル

    • マテリアライズドビューのベーステーブル

  • スーパーユーザーまたは sys:secadmin アクセス許可を持つユーザーにアタッチした RLS ポリシーは、無視されます。

次の例では、指定したテーブルとロールの組み合わせに RLS ポリシーをアタッチします。RLS ポリシーは、analyst または dbadmin のロールを持つユーザーが tickit_category_redshift テーブルにアクセスする場合に適用されます。

ATTACH RLS POLICY policy_concerts ON tickit_category_redshift TO ROLE analyst, ROLE dbadmin;