範例 - Amazon Redshift

自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

範例

以下範例會將 GUESTS 使用者群組在 SALES 資料表上的 INSERT 權限撤銷。此命令會使 GUESTS 的成員無法使用 INSERT 命令將資料載入 SALES 資料表。

revoke insert on table sales from group guests;

以下範例會將使用者 fred 對 QA_TICKIT 結構描述中所有資料表的 SELECT 權限撤銷。

revoke select on all tables in schema qa_tickit from fred;

下列範例會撤銷使用者 bobr 從檢視選取的權限。

revoke select on table eventview from bobr;

以下範例會將所有使用者在 TICKIT 資料庫中建立暫存資料表的權限撤銷。

revoke temporary on database tickit from public;

下列範例會撤銷使用者 user1cust_profile 資料表中 cust_namecust_phone 資料欄的 SELECT 權限。

revoke select(cust_name, cust_phone) on cust_profile from user1;

下列範例會撤銷 sales_group 群組對 cust_namecust_phone 資料欄的 SELECT 權限,以及對 cust_profile 資料表中 cust_contact_preference 資料欄的 UPDATE 權限。

revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;

下列範例顯示 ALL 關鍵字的使用方式,以撤銷 sales_admin 群組對資料表 cust_profile 中三個資料欄的 SELECT 和 UPDATE 權限。

revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;

以下範例會撤銷 user2 使用者對 cust_profile_vw 檢視中 cust_name 資料欄的 SELECT 權限。

revoke select(cust_name) on cust_profile_vw from user2;

從資料共用建立的資料庫撤銷 USAGE 權限的範例

下列範例會從 13b8833d-17c6-4f16-8fe4-1a018f5ed00d 命名空間撤銷對 salesshare 資料共用的存取權。

REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

下列範例會撤銷 sales_db 上來自 Bob 的 USAGE 權限。

REVOKE USAGE ON DATABASE sales_db FROM Bob;

下列範例會撤銷 sales_schema 上來自 Analyst_role 的 USAGE 權限。

REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;

撤銷限定範圍權限的範例

下列範例會將 Sales_db 資料庫中所有目前和未來結構描述的使用權從 Sales 角色撤銷。

REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;

以下範例撤銷向使用者 alice 授予對 Sales_db 資料庫中所有目前和未來資料表的 SELECT 權限的能力。alice 保留對 Sales_db 中所有資料表的存取權。

REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;

下列範例會將 Sales_schema 結構描述中函數的 EXECUTE 權限從 bob 角色撤銷。

REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;

下列範例會從 Sales 角色撤銷 ShareDb 資料庫之 ShareSchema 結構描述中所有資料表的所有權限。當指定結構描述時,您也可以使用兩部分格式 database.schema 指定結構描述的資料庫。

REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;

以下範例與前面的範例是相同的。您可以使用 DATABASE 關鍵字來指定結構描述資料庫,而不是使用兩部分格式。

REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;

撤銷 ASSUMEROLE 權限的範例

以下是撤銷 ASSUMEROLE 權限的範例

超級使用者必須在叢集上執行一次下列陳述式,以啟用使用者和群組的 ASSUMEROLE 權限。

revoke assumerole on all from public for all;

下列陳述式會在所有操作的所有角色上撤銷使用者 reg_user1 的 ASSUMEROLE 權限。

revoke assumerole on all from reg_user1 for all;

撤銷 ROLE 權限的範例

下列範例會對 sample_role2 撤銷 sample_role1。

CREATE ROLE sample_role2; GRANT ROLE sample_role1 TO ROLE sample_role2; REVOKE ROLE sample_role1 FROM ROLE sample_role2;

下列範例會撤銷 user1 的系統權限。

GRANT ROLE sys:DBA TO user1; REVOKE ROLE sys:DBA FROM user1;

下列範例會從 user1 撤銷 sample_role1 和 sample_role2。

CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT ROLE sample_role1, ROLE sample_role2 TO user1; REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;

下列範例會從 user1 撤銷具有 ADMIN OPTION 的 sample_role2。

GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION; REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1; REVOKE ROLE sample_role2 FROM user1;

下列範例會從 sample_role5 撤銷 sample_role1 和 sample_role2。

CREATE ROLE sample_role5; GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5; REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;

下列範例會撤銷 Sample_role1 的 CREATE SCHEMA 和 DROP SCHEMA 系統權限。

GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1; REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;