本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
授權 Amazon Redshift 代表您存取 AWS 服務
有些 Amazon Redshift 功能需要 Amazon Redshift 代表您存取其他 AWS 服務。例如,COPY 和 UNLOAD 命令可在使用 Amazon S3 儲存貯體的 Amazon Redshift 叢集上載入或卸載資料。CREATE EXTERNAL FUNCTION 命令可以使用純量 AWS Lambda 使用者定義函數 (UDF) 叫用 Lambda 函數。Amazon Redshift Spectrum 可以使用 Amazon Athena 或 中的資料目錄 AWS Glue。若要讓 Amazon Redshift 叢集代替您執行作業,您需為叢集提供安全憑證。提供安全憑證的建議方式為指定 AWS Identity and Access Management (IAM) 角色。對於 COPY 和 UNLOAD,您可以提供臨時憑證。
如果使用者想要與 AWS 外部互動,則需要程式設計存取 AWS Management Console。授予程式設計存取的方式取決於存取的使用者類型 AWS。
若要授與使用者程式設計存取權,請選擇下列其中一個選項。
哪個使用者需要程式設計存取權? | 到 | 根據 |
---|---|---|
人力資源身分 (IAM Identity Center 中管理的使用者) |
使用臨時登入資料簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。 |
請依照您要使用的介面所提供的指示操作。
|
IAM | 使用臨時登入資料簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。 | 請遵循 IAM 使用者指南中的將臨時登入資料與 AWS 資源搭配使用中的指示。 |
IAM | (不建議使用) 使用長期憑證來簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。 |
請依照您要使用的介面所提供的指示操作。
|
接下來,了解如何建立具有適當許可的 IAM 角色來存取其他 AWS 服務。您也需要在執行 Amazon Redshift 命令時將角色與您的叢集相關聯,並指定角色的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱使用 IAM 角色授權 COPY、UNLOAD、CREATE EXTERNAL FUNCTION 和 CREATE EXTERNAL SCHEMA 操作。
此外,超級使用者可以將 ASSUMEROLE 權限授予特定使用者和群組,以提供 COPY 和 UNLOAD 操作角色的存取權。如需詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 GRANT。
建立 IAM 角色以允許 Amazon Redshift 叢集存取 AWS 服務
建立具有 許可的 IAM 角色
若要建立 IAM 角色以允許 Amazon Redshift 叢集代表您與其他 AWS 服務進行通訊,請採取下列步驟。本節中使用的值是範例,您可以根據需要選擇值。
建立 IAM 角色以允許 Amazon Redshift 存取 AWS 服務
-
開啟 IAM 主控台
。 -
在導覽窗格中,選擇 Roles (角色)。
-
選擇 Create Role (建立角色)。
-
選擇 AWS 服務,然後選擇 Redshift。
-
在選取您的使用案例下,選擇Redshift – 可自訂,然後選擇下一步:許可。連接許可政策頁面隨即出現。
-
舉例來說,若要使用 COPY 存取 Amazon S3,您可以使用
AmazonS3ReadOnlyAccess
和 append。若要使用 COPY 或 UNLOAD 存取 Amazon S3,我們建議您建立受管政策,以便相應地限制對所需儲存貯體和字首的存取。對於讀取和寫入操作,我們建議您強制執行最低權限並僅限用於 Amazon Redshift 所需的 Amazon S3 儲存貯體和索引鍵字首。如需為 CREATE EXTERNAL FUNCTION 命令調用 Lambda 函數的存取權,請新增
AWSLambdaRole
。對於 Redshift Spectrum,除了 Amazon S3 存取之外,另請新增
AWSGlueConsoleFullAccess
或AmazonAthenaFullAccess
。選擇下一步:標籤。
-
Add tags (新增標籤) 頁面隨即出現。您可以選擇性地新增標籤。選擇下一步:檢閱。
-
針對 Role name (角色名稱),輸入您的角色名稱,例如
RedshiftCopyUnload
。選擇建立角色。 -
新角色適用於叢集上使用該角色的所有使用者。若要限制只有特定叢集上的特定使用者或特定區域中的叢集可存取,請編輯角色的信任關係。如需詳細資訊,請參閱限制對 IAM 角色的存取。
-
將角色與叢集相關聯。您可在建立叢集或新增角色至現有叢集時將 IAM 角色與叢集相關聯。如需詳細資訊,請參閱將 IAM 角色與叢集建立關聯。
注意
若要限制對特定資料的存取權,請使用授予所需最低權限的 IAM 角色。