使用須知 - Amazon Redshift

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

使用須知

若要撤銷物件的權限,您必須符合下列條件之一:

  • 身為物件擁有者。

  • 身為超級使用者。

  • 具有該物件和權限的授予權限。

    例如,下列命令可讓使用者 HR 在員工資料表上執行命SELECT令,並授與和撤銷其他使用者的相同權限。

    grant select on table employees to HR with grant option;

    HR 不能撤銷除員工以外SELECT的任何操作或其他任何表格的特權。

超級使用者可以存取所有物件,而不論設定物件權限的REVOKE指令為何。GRANT

PUBLIC代表一個永遠包含所有使用者的群組。預設情況下,PUBLIC擁有PUBLIC綱要的所有成員CREATE和USAGE權限。若要限制任何使用者對PUBLIC結構描述的權限,您必須先撤銷PUBLIC結構描述的PUBLIC所有權限,然後將權限授與特定使用者或群組。下列範例會控制PUBLIC結構描述中的表格建立權限。

revoke create on schema public from public;

若要撤銷 Lake Formation 表格的權限,與資料表的外部結構描述相關聯的IAM角色必須具有撤銷外部資料表的權限。下列範例會建立具有關聯IAM角色的外部結構描述myGrantor。IAM角色myGrantor具有撤銷其他人權限的權限。myGrantor此命REVOKE令會使用與外部結構描述相關聯之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角色也具有 ALL AWS Glue Data Catalog 為 Lake Formation 啟用,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' );