我在运行 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)。

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?