Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
如何解決在 Quick Sight 中將 Athena 作為資料來源使用時,發生的「Access denied」錯誤?
我嘗試在 Amazon Quick Sight 帳戶中將 Amazon Athena 作為資料來源使用時,遇到「Access denied」錯誤。
簡短描述
以下是您在 Amazon Quick Sight 中將 Amazon Athena 作為資料來源使用時,遇到 Access denied 錯誤的常見原因:
- 您的 Quick Sight 帳戶沒有存取 Amazon Simple Storage Service (Amazon S3) 儲存貯體的所需權限。
- 您的資料檔案已使用 AWS Key Management Service (KMS) 金鑰加密。
- 您不必擁有指派給您的必要 AWS Identity and Access Management (IAM) 權限政策。
- Amazon S3 儲存貯體不存在。或者,用於查詢資料的 IAM 角色並沒有所需的 S3 權限。
- (使用 AWS Organizations 的 Quick Sight 帳戶) 您沒有指派給您的必要服務控制政策 (SCP)。
- (使用 Lake Formation 的 Athena 帳戶) 您的 Quick Sight 使用者或群組沒有 AWS Lake Formation 權限。
注意: 在開始疑難排解之前,請確定您可以存取 Athena 中的資料。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
您的 Quick Sight 帳戶沒有存取 Amazon S3 儲存貯體的所需權限
您會收到類似下列內容的錯誤:
"An error has been thrown from AWS Athena client.Permission denied on S3 path:sourceErrorMessage: s3:/example bucket/object name"
若要取得 S3 儲存貯體的權限,請完成下列步驟:
- 開啟 Amazon Quick Sight console (Amazon Quick Sight 主控台)。
- 選擇 Manage Quick Sight (管理 Quick Sight)。
- 選擇 Security & Permissions (安全和權限)。
- 在 Quick Sight access to AWS services (Quick Sight 存取 AWS 服務) 下方,選擇 Manage (管理)。
- 從 AWS Services 清單,選取 Amazon S3。
- 選擇選取 S3 儲存貯體,然後選取 S3 儲存貯體。
- 選擇Athena 工作群組的寫入權限,然後選擇完成。
- 選擇儲存。
您的資料檔案已使用 AWS KMS 金鑰加密
如果您的資料檔案已使用 AWS KMS key 加密,Amazon S3 會拒絕您存取資料。若要解決此問題,請使用 AWS CLI 或 AWS KMS 主控台授予 AWS KMS key 的 Quick Sight 服務角色存取權。
使用 AWS CLI
請完成下列步驟:
-
使用 IAM 主控台找到 Quick Sight 服務角色 ARN。
-
使用 Amazon S3 主控台尋找 AWS KMS key ARN。
-
前往包含資料檔案的儲存貯體。
-
選擇 Overview (概觀) 索引標籤,然後找到 KMS 金鑰 ID。
-
將 Quick Sight 服務角色 ARN 新增到 KMS 金鑰政策。
-
執行 AWS CLI create-grant 命令:
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 主控台
若要將 Quick Sight 服務角色新增到 AWS KMS key 政策,請變更金鑰政策。然後,將下列權限新增到金鑰政策:
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-service-role-v0", "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-s3-consumers-role-v0" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
**注意:**在上述政策中,請確定在 Principal (主體) 區段中,新增 Quick Sight 服務角色的 ARN。
您不必擁有指派給您的必要 IAM 權限政策
若要查看哪些政策已指派給您,並確認政策是否限制您存取,請完成下列步驟:
- 開啟 Amazon Quick Sight console (Amazon Quick Sight 主控台)。
- 選擇 Manage Quick Sight (管理 Quick Sight)。
- 選擇 Security & Permissions (安全和權限)。
- 選擇 IAM 政策指派。
- 檢查是否有 Athena 存取權的任何 IAM 政策指派。
- 請確認此政策並未限制您存取 S3 或 Athena。
如果政策限制您存取 S3 或 Athena,則請您的 Quick Sight 管理員變更政策。如果您是管理員,請關閉 IAM 政策指派,並編輯政策以包括 S3 和 Athena 權限。如需詳細資訊,請參閱透過 IAM 設定 AWS 服務的精細存取權。
S3 儲存貯體不存在。或者,用於查詢資料的 IAM 角色並沒有所需的 S3 權限
如果您收到下列錯誤:
「無法驗證/建立輸出儲存貯體。」
若要解決上述錯誤,請參閱如何解決 Amazon Athena 中的「無法驗證/建立輸出儲存貯體」錯誤?
如果儲存主體不存在,請新增有效的 S3 儲存貯體。前往 Amazon Quick Sight 主控台,從 AWS Services 清單選取 Amazon S3。然後,選取用於查詢結果位置的 S3 儲存貯體。
您沒有指派給您 (Organizations) 的必要 SCP
請 Organizations 管理員檢查您的 SCP 設定,以驗證指派給您的權限。如果您是 Organizations 管理員,請參閱建立、更新和刪除服務控制政策。
您的 Quick Sight 使用者或群組沒有 Lake Formation 權限
如果是使用 Lake Formation 的 Athena 帳戶,您可能會收到下列錯誤:
「An error has been thrown from the AWS Athena client.Insufficient permissions to execute the query.Insufficient Lake Formation permission(s).」
若要授予 Quick Sight 的 Lake Formation 權限,您必須是 Lake Formation 管理員。
請完成下列步驟:
-
找到 Quick Sight 使用者或群組的 ARN。
-
執行下列其中一個 AWS CLI 命令:
aws quicksight describe-user --user-name user_name --aws-account-id account_id --namespace default-or-
aws quicksight describe-group --group-name group_name --aws-account-id account_id --namespace default**注意:**在上述命令中,請將 user_name 取代為您的使用者名稱、將 group_name 取代為您的群組名稱,以及將 account_id 取代為您的帳戶 ID。
-
選擇資料表。
-
選擇動作,然後選擇權限。
-
從 Principals (主體) 清單,選擇 Grant (授予)。
-
在 SAML and Amazon Quick Sight users and groups (SAML 和 Amazon Quick Sight 使用者和群組) 下方,輸入 Quick Sight 使用者或群組 ARN。例如,arn:aws:Quick Sight:region:accountId:user/namespace/username。
-
選取正確的資料來源,然後選擇 All tables (全部資料表)。資料表權限為選取和描述。
-
選擇 Grant (授予)。
授予權限後,請返回 Quick Sight 主控台,嘗試再次建立資料集。
相關資訊
搭配 Amazon Quick Sight 使用 Athena 時權限不足
相關內容
- 已提問 2 年前
AWS 官方已更新 2 年前