Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、ブログ記事
RLS ポリシーの変更
テーブル上の既存の行レベルのセキュリティポリシーを変更します。
スーパーユーザーとユーザー、または sys:secadmin ロールを持つロールは、ポリシーを変更できます。
構文
ALTER RLS POLICY { policy_name | database_name.policy_name } USING ( using_predicate_exp );
パラメータ
- policy_name
-
ポリシーの名前。
- database_name
-
ポリシーの作成元のデータベースの名前。データベースは、接続されたデータベースでも、Amazon Redshift フェデレーティッドアクセス許可をサポートするデータベースでもかまいません。
- USING (using_predicate_exp)
-
クエリの WHERE 句に適用されるフィルターを指定します。Amazon Redshift は、クエリレベルのユーザー述語より先にポリシー述語を適用します。例えば、
current_user = ‘joe’ and price > 10は Joe に対して価格が 10 USD を超えるレコードのみを表示するように制限します。この式は、policy_name という名前のポリシーの作成に使用された CREATE RLS POLICY ステートメントの WITH 句で宣言された変数にアクセスできます。
Amazon Redshift フェデレーティッドアクセス許可カタログでの ALTER RLS ポリシーの使用については、Amazon Redshift フェデレーティッドアクセス許可によるアクセスコントロールの管理についての記事を参照してください。
例
次の例では、RLS ポリシーを変更します。
-- First create an RLS policy that limits access to rows where catgroup is 'concerts'. CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'concerts'); -- Then, alter the RLS policy to only show rows where catgroup is 'piano concerts'. ALTER RLS POLICY policy_concerts USING (catgroup = 'piano concerts');