RLS ポリシーの変更 - Amazon Redshift

RLS ポリシーの変更

テーブル上の既存の行レベルのセキュリティポリシーを変更します。

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

構文

ALTER RLS POLICY policy_name USING ( using_predicate_exp );

パラメータ

policy_name

ポリシーの名前。

USING (using_predicate_exp)

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

この式は、policy_name という名前のポリシーの作成に使用された CREATE RLS POLICY ステートメントの WITH 句で宣言された変数にアクセスできます。

次の例では、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');