REVOKE - Amazon Redshift

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

REVOKE

從使用者或使用者群組移除存取權限,例如建立、刪除或更新表格的權限。

您只能對使用 ON SCHEMA 語法的資料庫使用者和使用者群組執行外部結構描述的 GRANT 或 REVOKE USAGE 許可。搭配使用 ON 外部結構描述時AWS Lake Formation,您只能授與和撤銷 AWS Identity and Access Management (IAM) 角色的權限。如需權限清單,請參閱語法。

若為預存程序,系統依預設會將 USAGE ON LANGUAGE plpgsql 許可授予 PUBLIC。在預設情況下,EXECUTE ON PROCEDURE 許可只會授予擁有者和超級使用者。

在 REVOKE 命令中指定您要移除的權限。若要授予權限,請使用GRANT指令。

語法

REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] EXECUTE ON FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { EXECUTE } [,...] | ALL [ PRIVILEGES ] } ON PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] USAGE ON LANGUAGE language_name [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ]

以下是 Amazon Redshift 資料表和檢視上資料行層級許可的語法。

REVOKE { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ]

以下是撤銷具有指定角色之使用者和群組的 ASSUMEROLE 權限的語法。

REVOKE ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } FROM { user_name | ROLE role_name | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL }

以下是 Redshift 頻譜與 Lake Formation 集成的語法。

REVOKE [ GRANT OPTION FOR ] { SELECT | ALL [ PRIVILEGES ] } ( column_list ) ON EXTERNAL TABLE schema_name.table_name FROM { IAM_ROLE iam_role } [, ...] REVOKE [ GRANT OPTION FOR ] { { SELECT | ALTER | DROP | DELETE | INSERT } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL TABLE schema_name.table_name [, ...] FROM { { IAM_ROLE iam_role } [, ...] | PUBLIC } REVOKE [ GRANT OPTION FOR ] { { CREATE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL SCHEMA schema_name [, ...] FROM { IAM_ROLE iam_role } [, ...]

以下是針對 Amazon Redshift 使用撤銷資料清單許可的語法。

REVOKE { ALTER | SHARE } ON DATASHARE datashare_name FROM { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

以下是針對 Amazon Redshift 使用資料清單使用許可使用撤銷的語法。

REVOKE USAGE ON DATASHARE datashare_name FROM NAMESPACE 'namespaceGUID' [, ...] | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ] [, ...]

以下是如何從 Lake Formation 帳戶撤銷數據存儲使用情況的示例。

REVOKE USAGE ON salesshare FROM ACCOUNT '123456789012' VIA DATA CATALOG;

以下是在特定資料庫或透過資料保護建立的結構描述上,資料共用使用權限的 REVOKE 語法。此使用權限不會撤銷未從指定資料清單建立的資料庫的使用權限。您只能對使用者和使用者群組撤銷、變更或共用資料追蹤的權限。

REVOKE USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema} FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

以下是 Amazon Redshift 上機器學習模型許可的語法。

REVOKE [ GRANT OPTION FOR ] CREATE MODEL FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON MODEL model_name [, ...] FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ]

以下是撤銷 Amazon Redshift 上角色許可的語法。

REVOKE [ ADMIN OPTION FOR ] { ROLE role_name } [, ...] FROM { user_name } [, ...]
REVOKE { ROLE role_name } [, ...] FROM { ROLE role_name } [, ...]

以下是撤銷 Amazon Redshift 上角色的系統許可的語法。

REVOKE { { CREATE USER | DROP USER | ALTER USER | CREATE SCHEMA | DROP SCHEMA | ALTER DEFAULT PRIVILEGES | CREATE TABLE | DROP TABLE | ALTER TABLE | CREATE OR REPLACE FUNCTION | CREATE OR REPLACE EXTERNAL FUNCTION | DROP FUNCTION | CREATE OR REPLACE PROCEDURE | DROP PROCEDURE | CREATE OR REPLACE VIEW | DROP VIEW | CREATE MODEL | DROP MODEL | CREATE DATASHARE | ALTER DATASHARE | DROP DATASHARE | CREATE LIBRARY | DROP LIBRARY | CREATE ROLE | DROP ROLE TRUNCATE TABLE VACUUM | ANALYZE | CANCEL }[, ...] } | { ALL [ PRIVILEGES ] } FROM { ROLE role_name } [, ...]

下列是撤銷權限的語法,以說明 EXPLAIN 計畫中查詢的資料列層級安全性原則篩選器。您可以使用 REVOKE 陳述式撤銷權限。

REVOKE EXPLAIN RLS FROM ROLE rolename

以下是授與略過查詢之資料列層級安全性原則之權限的語法。

REVOKE IGNORE RLS FROM ROLE rolename

以下是從指定的資料列層級安全性原則撤銷權限的語法。

REVOKE SELECT ON [ TABLE ] table_name [, ...] FROM RLS POLICY policy_name [, ...]

參數

GRANT OPTION FOR

僅撤銷將指定權限授與其他使用者的選項,而不會撤銷權限本身。您無法撤銷群組或 PUBLIC 的 GRANT OPTION。

SELECT

撤銷使用 SELECT 陳述式從資料表或檢視表中選取資料的權限。

INSERT

撤銷使用 INSERT 陳述式或 COPY 陳述式將資料載入資料表的權限。

UPDATE

撤銷使用 UPDATE 陳述式更新資料表資料行的權限。

DELETE

撤銷從資料表中刪除資料列的權限。

REFERENCES

撤銷建立外部索引鍵條件約束的權限。您應該撤銷參考資料表和參考資料表的此權限。

ALL [ PRIVILEGES ]

一次撤銷指定使用者或群組的所有可用權限。PRIVILEGES 關鍵字為選用。

ALTER

撤銷修改已啟用 Lake Formation 的AWS Glue Data Catalog表格的權限。此權限僅適用於使用 Lake Formation 時。

DROP

撤銷捨表格。此權限適用於 Amazon Redshift 以及為 Lake Formation 啟用的。AWS Glue Data Catalog

ASSUMEROLE

撤銷從具有指定角色的使用者、角色或群組執行 COPY、卸載、外部函數或 CREATE MODEL 命令的權限。

ON [ TABLE ] table_name

撤銷資料表或檢視表的指定權限。TABLE 關鍵字為選用。

ON ALL TABLES IN SCHEMA schema_name

撤銷所參考結構描述中所有資料表的指定權限。

( column_name [,...] ) ON TABLE table_name

在 Amazon Redshift 資料表或檢視的指定欄上撤銷來自使用者、群組或 PUBLIC 的指定許可。

( column_list ) ON EXTERNAL TABLE schema_name.table_name

撤銷所參考結構描述中 Lake Formation 表格指定資料欄上 IAM 角色的指定許可。

ON EXTERNAL TABLE schema_name.table_name

從參考結構描述中指定的 Lake Formation 資料表上的 IAM 角色撤銷指定的許可。

ON EXTERNAL SCHEMA schema_name

從參考結構描述上的 IAM 角色撤銷指定的許可。

FROM IAM_ROLE iam_role

指出遺失許可的 IAM 角色。

角色色名稱

撤銷指定角色的權限。

GROUP group_name

撤銷指定使用者群組的許可。

PUBLIC

撤銷所有使用者的指定權限。PUBLIC 代表永遠包含所有使用者的群組。個別使用者的權限包括授與 PUBLIC 的權限總和、授與使用者所屬之任何群組的權限,以及個別授予該使用者的任何權限。

從湖形外部表中撤銷 PUBLIC 會導致撤銷 Lake Formation 每個人組的許可。

製作

視資料庫物件而定,撤銷使用者或群組的下列權限:

  • 若是資料庫,使用 CREATE 子句執行 REVOKE,可阻止使用者在資料庫內建立結構描述。

  • 若是結構描述,使用 CREATE 子句執行 REVOKE,可阻止使用者在結構描述內建立物件。若要重新命名物件,使用者必須擁有 CREATE 權限,並擁有要重新命名的物件。

注意

根據預設,所有使用者都擁有 PUBLIC 結構描述的建立和使用權限。

TEMPORARY | TEMP

撤銷在指定資料庫中建立暫存資料表的權限。

注意

根據預設,建立臨時資料表的許可是依使用者在 PUBLIC 群組中的自動成員資格授予。若要移除任何使用者建立暫存資料表的權限,請撤銷 PUBLIC 群組的 TEMP 權限,然後明確授與建立暫存資料表的權限給特定使用者或使用者群組。

ON DATABASE db_name

撤銷指定資料庫的權限。

USAGE

撤銷特定結構描述內物件的 USE 權限,這會讓使用者無法存取這些物件。必須個別撤銷這些物件上的特定動作 (例如函數的 EXECUTE 權限)。

注意

根據預設,所有使用者都擁有 PUBLIC 結構描述的建立和使用權限。

ON SCHEMA schema_name

撤銷指定結構描述的許。您可以使用結構描述權限來控制資料表的建立;資料庫的 CREATE 權限僅控制結構描述的建立。

RESTRICT

僅撤銷使用者直接授與的權限。這是預設行為。

EXECUTE ON PROCEDURE procedure_name

撤銷特定預存程序的 EXECUTE 權限。由於預存程序名稱可以過載,因此您必須包含程序的引數清單。如需詳細資訊,請參閱命名預存程序

EXECUTE ON ALL PROCEDURES IN SCHEMA procedure_name

撤銷參考結構描述中所有程序的指定權限。

USAGE ON LANGUAGE language_name

撤銷某種語言的「使用」權限。若為 Python 使用者定義函數 (UDF),請使用 plpythonu。若是 SQL UDF,請使用 sql。若為預存程序,請使用 plpgsql

若要建立 UDF,您必須具有 SQL 或 plpythonu (Python) 的語言使用權許可。根據預設,USAGE ON LANGUAGE SQL 會授予 PUBLIC。不過,您必須將 USAGE ON LANGUAGE PLPYTHONU 明確授予特定使用者或群組。

若要撤銷 SQL 的使用權,請先從 PUBLIC 撤銷使用權。然後僅將 SQL 使用權授予獲得許可建立 SQL UDF 的特定使用者或群組。下列範例會撤銷 PUBLIC 的 SQL 使用權,然後將使用權授予使用者群組 udf_devs

revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;

如需詳細資訊,請參閱UDF 安全與權限

若要撤銷預存程序的使用權,請先從 PUBLIC 撤銷使用權。然後僅將 plpgsql 使用權授予獲得許可建立預存程序的特定使用者或群組。如需詳細資訊,請參閱預存程序的安全和權限

{所有 | 複製 | 卸載 | 外部功能 | 創建模型} [,...]

指定要撤銷其權限的 SQL 命令。您可以指定 ALL 來撤銷「複製」、「卸載」、「外部函數」和「建立模型」陳述式的權限。本條款僅適用於撤銷安蘇美羅權限。

ALTER

撤銷使用者或使用者群組的 ALTER 權限,允許不擁有資料追蹤的使用者或使用者群組變更資料指令。需要此權限才能從資料清單中新增或移除物件,或設定屬性 PUBLICACCESS。如需詳細資訊,請參閱變更資料指標

SHARE

撤銷使用者和使用者群組的權限,以將取用者新增至資料保護。撤銷此權限需要阻止特定消費者從其叢集存取資料存取。

在資料清單資料名稱上

授與參照資料清單的指定權限。

寄件者

指出失去權限的使用者。

寄件者群組名稱

指出失去權限的使用者群組。

WITH GRANT OPTION

指出失去權限的使用者可以依次撤銷其他使用者的相同權限。您無法撤銷群組或公用的授權選項。

USAGE

當同一帳戶內的消費者帳戶或命名空間的 USE 被撤銷時,帳戶中指定的消費者帳戶或命名空間無法以唯讀方式訪問數據保護和數據清單的對象。

撤銷使用權限會撤銷消費者對數據的訪問。

從命名空間「群集名稱空間 GUID」

指出相同帳戶中的命名空間,該帳戶的取用者會失去資料保護的權限。命名空間使用 128 位元英數字元的全域唯一識別碼 (GUID)。

從帳戶「帳戶號碼」[透過資料目錄]

指出其他帳戶的帳戶號碼,這些帳戶的取用者會失去資料保護的權限。指定「威盛資料目錄」表示您正在撤銷 Lake Formation 帳戶的資料使用。省略帳號代表您要撤銷擁有叢集的帳戶。

在數據庫共享名稱 > [,...]

撤銷在指定資料清單中建立的指定資料庫上的指定使用權限。

關於架構共享架構

撤銷在指定的資料清單中建立之指定結構描述的指定權限。

建立模型

撤銷 CREATE MODEL 權限,以便在指定的資料庫中建立機器學習模型。

在模型上模名稱

撤銷特定模型的 EXECUTE 權限。

[管理員選項] {角色} [,...]

您從具有 WITH ADMIN 選項的指定使用者撤銷的角色。

{角色} [,...]

您撤銷指定角色的角色。

若要進一步了解 REVOKE 的使用說明,請參閱使用須知

如需如何使用 REVOKE 的範例,請參閱範例