1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 感谢您分享查询ID。
在注册Lake Formation路径时,我们会授予“数据位置”到需要访问注册位置的LF管理表的角色的路径权限。
查看提供的Athena查询ID的S3日志,认证过程类似于使用Lake Formation注册位置[1]。该过程如下:
- 一个主体在Athena中运行“SELECT”查询。
- Athena分析查询并检查Lake Formation权限,以查看主体是否已被授予访问表和表列的权限。
- 如果主体具有访问权限,Athena会从Lake Formation请求凭证。如果主体没有访问权限,Athena会发出访问被拒绝的错误。
- Lake Formation向Athena发出凭证,用于读取Amazon S3中的数据,以及允许的列列表。
- Athena使用Lake Formation临时凭据从Amazon S3查询数据。查询完成后,Athena会丢弃凭证。
现在,回答您的问题-共享的查询ID的错误是由Lake Formation末端缺少s3:ListBucket
权限造成的。
尽管目前正在检查您使用的角色,但我可以看到Athena所假设的角色(AWSServiceRoleForLakeFormationDataAccess
)具有S3路径(s3://xxxx-xxxxx-xxxx-xxx-us-east-1-123456789000/xxxxxx_xxxxx
)的权限,因此在我撰写本文时,您不应该再遇到此错误。
一旦您将S3存储桶(xxxx-xxxxx-xxxx-xxx-us-east-1-123456789000
)注册到Lake Formation中,它将自动更新您的角色(AWSServiceRoleForLakeFormationDataAccess
)中缺少的权限(在您的情况下为s3:ListBucket
)。
话虽如此,我建议您在通过Terraform进行部署时
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前