无法从Power BI连接Amazon Athena,遇S3访问拒绝403错误
解决Athena通过ODBC访问S3时的403 Access Denied错误
错误详情
ODBC: ERROR [HY000] [Simba][Athena] (1040) An error has been thrown from the AWS Athena client. Error Message: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: C5Z10AA7AE81NKH0; S3 Extended Request ID: PRYTg/7fb1/0PL8vtHy1Z5UoxDUIgVpMmUbj1SO3xN3NoUNQ10oOY78bi8Y57iQ7ouN6Ifg/TsTfX5zsM4M/9g==; Proxy: null) [Execution ID: f8d91a56-1c84-4f8e-9981-87e228374e2f]
已配置IAM策略但问题仍存在,可按以下步骤排查:
- 检查IAM策略的资源范围:确保策略同时覆盖Athena查询结果存储桶和数据源S3桶,路径需包含桶内所有对象,例如
arn:aws:s3:::your-query-results-bucket/*和arn:aws:s3:::your-data-source-bucket/*。 - 验证桶策略冲突:若S3桶本身配置了桶策略,可能会覆盖IAM权限。检查桶策略是否拒绝当前IAM实体访问,或未明确允许必要操作。
- 确认Athena工作区配置:Athena控制台工作区的查询结果位置必须是当前IAM实体有权限访问的S3路径,且该路径权限已正确配置。
- 排查KMS加密权限:如果S3桶或Athena查询结果启用了KMS加密,IAM策略需添加
kms:Decrypt和kms:GenerateDataKey权限,权限范围要包含对应KMS密钥的ARN。 - 检查IAM角色信任关系:若使用IAM角色,需确认信任关系允许
athena.amazonaws.com服务扮演该角色,且ODBC配置使用的凭证对应正确的角色/用户。 - 验证临时凭证有效性:如果使用STS临时凭证,检查凭证是否过期,是否包含所需的权限范围。
- 核对S3桶ACL设置:虽然IAM策略优先级更高,但ACL若设置了拒绝规则,仍可能导致访问失败,确认桶和对象的ACL未限制当前实体的访问。
内容的提问来源于stack exchange,提问作者Douglas Guzman
相关产品推荐
相关产品推荐

