自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CREATE RLS POLICY
建立新的資料列層級安全性政策,以提供資料庫物件的精細存取權。
超級使用者和具有 sys:secadmin 角色的使用者或角色可以建立政策。
語法
CREATE RLS POLICY policy_name [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )
參數
- policy_name
-
政策的名稱。
- 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 的記錄。
使用須知
使用 CREATE RLS POLICY 陳述式時,請注意以下內容:
範例
下列範例會建立名為 policy_concerts 的 RLS 政策。此政策適用於稱為 catgroup 的 VARCHAR(10) 資料欄,並將 USING 篩選條件設定為僅傳回 catgroup 值為 的資料列'Concerts'。
CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'Concerts');
如需使用 RLS 政策的end-to-end範例,請參閱 資料列層級安全性end-to-end範例。