本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用須知
若要撤銷物件的權限,您必須符合下列條件之一:
-
身為物件擁有者。
-
身為超級使用者。
-
具有該物件和權限的授予權限。
例如,下列命令可讓使用者 HR 在員工資料表上執行SELECT命令,並為其他使用者授予和撤銷相同的權限。
grant select on table employees to HR with grant option;
HR 無法撤銷除 以外的任何操作,SELECT或員工以外任何其他資料表上的權限。
超級使用者可以存取所有物件,無論設定物件權限的 GRANT和 REVOKE命令為何。
PUBLIC 代表一律包含所有使用者的群組。根據預設, 的所有成員在結構描述上PUBLIC都有 PUBLIC CREATE和 USAGE權限。若要限制任何使用者對PUBLIC結構描述的許可,您必須先撤銷PUBLIC結構描述PUBLIC上的 所有許可,然後將許可授予特定使用者或群組。下列範例控制PUBLIC結構描述中的資料表建立權限。
revoke create on schema public from public;
若要從 Lake Formation 資料表撤銷權限,與資料表外部結構描述相關聯的IAM角色必須具有撤銷外部資料表權限的許可。下列範例會建立具有關聯IAM角色 的外部結構描述myGrantor
。IAM 角色myGrantor
具有撤銷他人許可的許可。REVOKE 命令會使用與外部結構描述myGrantor
相關聯的IAM角色許可,來撤銷IAM角色 的許可myGrantee
。
create external schema mySchema from data catalog database 'spectrum_db' iam_role 'arn:aws:iam::123456789012:role/myGrantor' create external database if not exists;
revoke select on external table mySchema.mytable from iam_role 'arn:aws:iam::123456789012:role/myGrantee';
注意
如果IAM角色在已啟用 Lake Formation AWS Glue Data Catalog 的 中也有ALL
許可,則不會撤銷ALL
許可。只有 SELECT
許可會遭撤銷。您可以在 Lake Formation 控制台中檢視 Lake Formation 許可。
撤銷ASSUMEROLE許可的使用備註
下列用量備註適用於在 Amazon Redshift 中撤銷ASSUMEROLE權限。
只有資料庫超級使用者可以撤銷使用者和群組ASSUMEROLE的權限。超級使用者一律會保留 ASSUMEROLE 權限。
若要啟用使用者和群組的 ASSUMEROLE 權限,超級使用者會在叢集上執行下列陳述式一次。在將ASSUMEROLE權限授予使用者和群組之前,超級使用者必須在叢集上執行下列陳述式一次。
revoke assumerole on all from public for all;
撤銷機器學習許可的使用須知
您無法直接授予或撤銷與 ML 函數相關的許可。ML 函數屬於 ML 模型,而且許可是透過模型控制的。相反地,您可以撤銷 ML 模型相關的許可。下列範例會示範如何從與模型 customer_churn
相關聯的所有使用者中撤銷執行許可。
REVOKE EXECUTE ON MODEL customer_churn FROM PUBLIC;
您也可以從 ML 模型 customer_churn
的使用者中撤銷所有許可。
REVOKE ALL on MODEL customer_churn FROM ml_user;
如果結構描述中有 ML 函數,則授予或撤銷 ML 函數相關的 EXECUTE
許可將會失敗,即使該 ML 函數已經具有透過 GRANT EXECUTE ON MODEL
取得的 EXECUTE
許可也是一樣。我們建議您在使用 CREATE MODEL
命令時,使用個別的結構描述,將 ML 函數本身保留在不同的結構描述中。下列範例示範如何執行此動作。
CREATE MODEL ml_schema.customer_churn FROM customer_data TARGET churn FUNCTION ml_schema.customer_churn_prediction IAM_ROLE default SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket' );