REVOKE - Amazon Redshift

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

REVOKE

移除使用者或使用者叢集的存取權限,例如建立、刪除或更新資料表的權限。

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

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

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

Syntax (語法)

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 ]

以下是撤消具有指定角色的用户和組的 ASUMEROLE 權限的語法。

REVOKE ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } FROM { user_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 } [, ...]

下列語法適用於使用 REVOKE 作為 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' [, ...]

以下是 REVOKE 語法,用於對特定數據庫或從數據保護創建的模式進行數據共享使用權限。此 USAGE 權限不撤消對非從指定數據保護創建的數據庫的使用權限。您只能向用户和用户組撤消、ALTER 或共享數據保護權限。

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 } [, ...]

參數

GRANT OPTION FOR

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

SELECT

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

INSERT

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

UPDATE

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

DELETE

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

REFERENCES

撤銷建立外部索引鍵限制條件的權限。您應在被動參考資料表與主動參考資料表上撤銷此權限。

ALL [ PRIVILEGES ]

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

ALTER

撤銷更改資料表的權限。AWS Glue Data Catalog,為 Lake Formation 成啟用。只有使用湖結構時,才能套用此權限。

DROP

撤銷刪除資料表的權限。此特權適用於 Amazon Redshift 和AWS Glue Data Catalog,為 Lake Formation 成啟用。

ASSUMEROLE

撤消從具有指定角色的用户和組運行 COPY、卸載、外部函數或創建模型命令的權限。

ON [ TABLE ] table_name

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

ON ALL TABLES IN SCHEMA schema_name

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

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

撤銷用户、組或 PUBLIC 對 Amazon Redshift 資料表或檢視中指定資料欄的指定權限。

( 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 角色。

角色ALLE_name

撤銷指定角色的權限。

GROUP group_name

從指定的使用者群組撤銷權限。

PUBLIC

從所有使用者撤銷指定的權限。PUBLIC 代表永遠包含所有使用者的群組。個別使用者的權限是由授予 PUBLIC 的權限、授予使用者所屬之任何群組的權限,以及個別授予使用者的任何權限,三者加總所組成。

從 Lake Formation 外部資料表撤銷 PUBLIC 權限時,會導致湖面層撤銷該權限。每個人組。

製作

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

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

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

注意

根據預設,所有使用者對 PUBLIC 結構描述都具有 CREATE 和 USAGE 權限。

TEMPORARY | TEMP

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

注意

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

ON DATABASE db_name

撤銷指定資料庫的權限。

USAGE

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

注意

根據預設,所有使用者對 PUBLIC 結構描述都具有 CREATE 和 USAGE 權限。

ON SCHEMA schema_name

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

RESTRICT

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

EXECUTE ON FUNCTION function_name

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

EXECUTE ON PROCEDURE procedure_name

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

EXECUTE ON ALL PROCEDURES IN SCHEMA procedure_name

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

USAGE ON LANGUAGE language_name

撤銷語言的 USAGE 權限。若為 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 以撤消對 COPY、卸載、外部函數和創建模型語句的權限。此子句僅適用於撤消 ASMEROLE 權限。

ALTER

撤消允許不擁有數據保護的用户或用户組更改數據保護的用户或用户組的 ALTER 權限。在數據保護中添加或刪除對象,或設置屬性 PUBLIC 可訪問時,需要此權限。如需詳細資訊,請參閱 ALTER DATABASE

SHARE

撤消用户和用户組將使用者添加到數據保護的權限。要阻止特定使用者從其羣集訪問數據保護,需要撤消此權限。

在數據保護上數據庫名稱

授予所參考資料保護的指定權限。

來自用户名

指出失去權限的使用者。

從組group_name

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

WITH GRANT OPTION

指出失去權限的使用者可以接著撤銷他人的相同權限。您無法撤銷資料組或 PUBLIC 的使用授予選項。

USAGE

當撤銷同一帳户中的使用者帳户或命名空間的 USAGE 時,帳户中指定的使用者帳户或命名空間無法以只讀方式訪問數據保護和數據保護的對象。

撤消 USE 權限將撤消使用者對數據保護的訪問權限。

從命名空間 '羣集名空間 GUID'

指示同一帳户中具有使用者失去數據保護權限的命名空間。命名空間使用 128 位字母數字全局唯一標識符 (GUID)。

從賬户「帳户號碼」

指示具有使用者失去數據保護權限的另一個帳户的帳號。

中的資料庫共享數據庫名稱 > [,...]

撤消在指定數據保護中創建的指定數據庫的指定使用權限。

對 SCHEMA共享架構

撤消對在指定數據保護中創建的指定架構的指定權限。

建立模型

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

MODEL型號名稱

撤銷特定模型的 EXECUTE 權限。

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

從具有 WITH ADMIN 選項的指定用户撤消的角色。

來自 {user_name} [,...]

撤消指定角色的用户或角色。

來自 {角色} [,...]

從中撤消指定角色的角色。