

 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 RLS POLICY
<a name="r_CREATE_RLS_POLICY"></a>

新しい行レベルのセキュリティポリシーを作成して、データベースオブジェクトへのきめ細かなアクセスを提供します。

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

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

```
CREATE RLS POLICY { policy_name | database_name.policy_name }
[ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ]
USING ( using_predicate_exp )
```

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

 *policy\_name*   
ポリシーの名前。

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

WITH (*column\_name data\_type [, ...]*)   
ポリシーがアタッチされているテーブルの列を参照対象の *column\_name* と *data\_type* を指定します。  
RLS ポリシーがアタッチされているテーブルの列を参照対象としない場合に限り、WITH 句を省略できます。

AS *relation\_alias*  
RLS ポリシーをアタッチするテーブルにオプションのエイリアスを指定します。

USING (*using\_predicate\_exp*)  
クエリの WHERE 句に適用されるフィルターを指定します。Amazon Redshift は、クエリレベルのユーザー述語より先にポリシー述語を適用します。例えば、**current\_user = ‘joe’ and price > 10** は Joe に対して価格が 10 USD を超えるレコードのみを表示するように制限します。

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

## 使用に関する注意事項
<a name="r_CREATE_RLS_POLICY-usage"></a>

CREATE RLS POLICY ステートメントを操作するとき、次の点に注意してください。
+ Amazon Redshift は、クエリの WHERE 句の一部となるフィルタをサポートしています。
+ テーブルにアタッチされるすべてのポリシーは、同じテーブルエイリアスで作成されている必要があります。
+ ルックアップテーブルを参照する RLS ポリシーの SELECT 許可を明示的に付与および取り消すには、GRANT と REVOKE ステートメントを使用する必要があります。ルックアップテーブルは、ポリシー定義内で使用されるテーブルオブジェクトです。詳細については、「[GRANT](r_GRANT.md)」および「[REVOKE](r_REVOKE.md)」を参照してください。
+ Amazon Redshift の行レベルセキュリティは、ポリシー定義内の以下のオブジェクトタイプをサポートしていません: カタログテーブル、データベース間の関係、外部テーブル、通常のビュー、遅延バインディングビュー、RLS ポリシーがオンになっているテーブル、一時テーブル。

## 例
<a name="r_CREATE_RLS_POLICY-examples"></a>

次の例では、policy\_concerts という RLS ポリシーを作成します。このポリシーは、catgroup という VARCHAR(10) 列に適用され、catgroup の値が `'Concerts'` である行のみを返すように USING フィルターを設定します。

```
CREATE RLS POLICY policy_concerts
WITH (catgroup VARCHAR(10))
USING (catgroup = 'Concerts');
```

RLS ポリシーを使用するエンドツーエンドの例については、「[行レベルのセキュリティのエンドツーエンドの例](t_rls-example.md)」を参照してください。