本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
登入資料和存取許可
若要使用其他 AWS 資源載入或卸載資料,例如 Amazon S3、Amazon DynamoDB、Amazon EMR 或 Amazon EC2,Amazon Redshift 必須具有存取資源的許可,並執行存取資料的必要動作。例如,若要從 Amazon S3 載入資料,COPY 必須具備儲存貯體的 LIST 存取權和儲存貯體物件的 GET 存取權。
若要取得存取資源的授權,Amazon Redshift 必須經過身分驗證。您可以選擇角色型存取控制或金鑰型存取控制中的一個。本節說明這兩個方法的概觀。如需詳細資訊和範例,請參閱存取其他 AWS 資源的許可。
角色類型存取控制
使用角色型存取控制,Amazon Redshift 會代表您暫時擔任 AWS Identity and Access Management (IAM) 角色。然後,根據授予角色的授權,Amazon Redshift 可以存取所需的 AWS 資源。
我們建議您使用角色型存取控制,因為它除了保護您的 AWS 登入資料之外,還提供更安全、更精細的存取 AWS 資源和敏感使用者資料的控制。
若要使用角色型存取控制,您必須先使用 Amazon Redshift 服務角色類型建立 IAM 角色,然後將角色連接至您的資料倉儲。角色至少必須具備 COPY、UNLOAD 和 CREATE LIBRARY 的 IAM 許可中列出的許可。如需建立 IAM 角色並將其連接至叢集的步驟,請參閱《Amazon Redshift 管理指南》中的建立 IAM 角色以允許 Amazon Redshift 叢集存取 AWS 服務。
您可以使用 Amazon Redshift 管理主控台、CLI 或 API 將角色新增至叢集,或檢視與叢集相關聯的角色。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的使用 IAM 角色授權 COPY 和 UNLOAD 操作。
建立 IAM 角色時,IAM 會傳回角色的 Amazon Resource Name (ARN)。若要使用 IAM 角色來執行 COPY 命令,請使用 IAM_ROLE 參數或 CREDENTIALS 參數來提供角色 ARN。
下列 COPY 命令範例會使用 IAM_ROLE 參數搭配角色 MyRedshiftRole
進行身分驗證。
COPY customer FROM 's3://amzn-s3-demo-bucket/mydata' IAM_ROLE 'arn:aws:iam::12345678901:role/MyRedshiftRole';
AWS 使用者至少必須擁有 中列出的許可COPY、UNLOAD 和 CREATE LIBRARY 的 IAM 許可。
金鑰型存取控制
使用金鑰型存取控制,您可以為有權存取包含資料之 AWS 資源的使用者提供存取金鑰 ID 和私密存取金鑰。
注意
強烈建議使用 IAM 角色來驗證身分,而不要提供純文字存取金鑰 ID 和私密存取金鑰。如果您選擇以金鑰為基礎的存取控制,絕對不要使用 AWS 您的帳戶 (根) 登入資料。請一律建立 IAM 使用者,並提供該使用者的存取金鑰 ID 和私密存取金鑰。關於建立 IAM 使用者的步驟,請參閱在 AWS 帳戶中建立 IAM 使用者。