我在运行 Athena 查询时,收到“Access Denied”错误

上次更新时间:2020 年 5 月 11 日

当我在运行一个 Amazon Athena 查询时,我收到了“Access Denied”错误。它的原因可能是什么,该如何修复?

简短描述

Athena 使用提交查询的用户的 AWS Identity and Access Management (IAM) 凭证从 Amazon Simple Storage Service (Amazon S3) 存储桶读取数据。查询结果存储在单独的 S3 存储桶中。“Access Denied”错误通常表示,您无权读取存储桶中的数据,或无权写入结果存储桶。

解决方法

要排查“Access Denied”错误,请确认以下各项:

  • IAM 用户拥有一个允许访问 Athena 的附加策略,例如 AmazonAthenaFullAccess。如果您更改结果存储桶的默认位置 (aws-athena-query-results-*),请确保该 IAM 用户有权读取和写入新位置。
  • 该存储桶策略和对象 ACL 允许 IAM 用户访问存储桶中的对象。如果 IAM 用户位于不同的 AWS 账户中,请参阅跨账户访问
  • Amazon S3 位置应为以下格式:s3://awsexamplebucket/path。请勿包含终端节点(例如 s3://us-east-1.amazonaws.com/awsexamplebucket/path)。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?