Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何設定從 Quick Sight 到另一個帳戶中 Amazon S3 儲存貯體的跨帳户存取權?
我想嘗試使用另一個帳戶中 Amazon Simple Storage Service (Amazon S3) 儲存貯體的資料在 Amazon Quick Sight 中建立資料集。
簡短描述
請完成以下步驟,建立從 Amazon Quick Sight (帳戶 A) 到另一個帳戶 (帳戶 B) 中加密 Amazon S3 儲存貯體的跨帳戶存取權:
- 更新帳戶 B (S3 儲存貯體所在位置) 中的 S3 儲存貯體政策。
- 將 S3 儲存貯體新增為 Quick Sight 服務角色 (帳戶 A) 可存取的資源。
- 允許 Quick Sight 服務角色存取 S3 儲存貯體的 AWS Key Management Service (KMS) 金鑰。
**注意:**本文假設您的 S3 儲存貯體已加密。使用 AWS KMS 金鑰加密 S3 儲存貯體也是一種最佳實務。如需如何啟用 Amazon S3 預設加密的詳細資訊,請參閱設定預設加密。
解決方法
更新帳戶 B 中的 S3 儲存貯體政策
若要設定從 Quick Sight 到 Amazon S3 的跨帳户存取權,請完成以下步驟:
-
在帳戶 B 中更新 S3 儲存貯體的儲存貯體政策,例如:
{ "Version": "2012-10-17", "Id": "BucketPolicy", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account A>:role/service-role/aws-quicksight-service-role-v0" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::cross-account-qstest-bucket", "arn:aws:s3:::cross-account-qstest-bucket/*" ] } ] }**注意:**如果帳戶 A 中存在 aws-quicksight-s3-consumers-role-v0 角色,請務必改用此角色。將 aws-quicksight-service-role-v0 替換為 aws-quicksight-s3-consumers-role-v0 以避免與 Amazon S3 的連線問題。
-
將帳戶 A 中的 Quick Sight 服務角色新增到可存取 S3 儲存貯體之 AWS KMS key 的使用者清單中:
aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quickSight_role_arn --operations Decrypt
**注意:**將 aws_kms_key_arn 替換為您 AWS KMS key 的 ARN,並將 quicksight_role_arn 替換為您 Quick Sight 角色的 ARN。
若要取得 AWS KMS key ARN,請執行下列操作:
- 開啟 Amazon S3 主控台。
- 前往包含資料檔案的 S3 儲存貯體。
- 選擇屬性標籤。AWS KMS key ARN 位於 Default encryption (預設加密) 之下。
若要取得 Quick Sight 服務角色 ARN,請執行下列操作:
- 在帳戶 A 中開啟 AWS Identity Access Management (IAM) 主控台。
- 在導覽窗格中,選擇角色。
- 搜尋 aws-Quick Sight-service-role。
- 選取 Quick Sight 服務角色,然後複製其 ARN。
**注意:**如果帳戶 A 中存在 aws-quicksight-s3-consumers-role-v0 角色,請務必改用此角色。否則,當您嘗試連線到 Amazon S3 時,可能會收到錯誤。
將 S3 儲存貯體新增為 Quick Sight 服務角色可存取的資源
若要允許 Quick Sight 服務角色存取帳戶 B 中的 S3 儲存貯體,請完成以下步驟:
- 開啟 Amazon Quick Sight console (Amazon Quick Sight 主控台)。
- 選擇 Manage Quick Sight (管理 Quick Sight)。
- 選擇 Security & permissions (安全和權限)。
- 選擇新增或移除。
- 選擇詳細資訊。
- 選擇 Select S3 buckets (選取 S3 儲存貯體)。
- 選擇 S3 buckets that you can access across AWS (可以跨 AWS 存取的 S3 儲存貯體) 索引標籤,以確認您的 S3 儲存貯體已列出,可供 Quick Sight 存取使用。
- (選用) 如果未列出您的 S3 儲存貯體,請在 Use a different bucket (使用不同的儲存貯體) 下新增您的儲存貯體。
- 選擇 Finish (完成)。
允許 Quick Sight 服務角色存取 S3 儲存貯體的 AWS KMS key
將下列內嵌 IAM 政策新增至帳戶 A 中的 Quick Sight 服務角色:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStmt3", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": ""arn:aws:kms:us-east-1:<account ID of your S3 bucket>:key/<KEYID>" } ] }
**注意:**上述內嵌政策允許 Quick Sight 服務角色存取帳戶 B 中的 AWS KMS key。請將 ExampleStmt3 替換為您的陳述式 ID。
**重要:**如果帳戶 A 中存在 aws-quicksight-s3-consumers-role-v0 角色,則您必須將 AWS KMS 政策附加到該角色。AWS KMS 政策會解密 S3 儲存貯體中的資料。如果改為將更新的角色政策附加到 Quick Sight 服務角色,則可能會遇到權限錯誤。如需如何解決權限錯誤的相關資訊,請參閱如何對 Amazon Quick Sight 中的 AWS 資源權限錯誤進行疑難排解?
其他注意事項
當您設定從 Quick Sight 到另一個帳戶中 S3 儲存貯體的跨帳户存取權時,請考慮下列事項:
- 檢查 Quick Sight 帳戶中的 IAM 政策指派。IAM 角色政策必須向 Quick Sight 服務角色授予對 S3 儲存貯體的存取權。如需詳細資訊,請參閱透過 IAM 設定 AWS 服務的精細存取權。
- 使用資訊清單檔案連線到 S3 儲存貯體,並使用 S3 檔案建立資料集。確保為 S3 清單檔案使用支援的格式。
相關資訊
相關內容
- 已提問 2 年前
- 已提問 1 年前
- 已提問 3 年前

