Quicksight从Athena创建数据集报S3 403访问拒绝错误如何修复
Quicksight连接Athena数据源S3访问拒绝报错修复方案
该报错的根因是Quicksight调用Athena查询时,所使用的服务角色缺少报错中指定S3桶s3://metadataitcfcontrol/的访问权限,可按以下步骤逐一排查修复:
1. 配置Quicksight服务角色的IAM权限
Quicksight访问AWS服务默认使用前缀为aws-quicksight-s3-consumers-role-的服务角色,你需要为该角色附加对应S3访问权限:
- 新建IAM策略,内容如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::metadataitcfcontrol", "arn:aws:s3:::metadataitcfcontrol/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-<你的AWS账号ID>-<你所在的区域>", "arn:aws:s3:::aws-athena-query-results-<你的AWS账号ID>-<你所在的区域>/*" ] } ] }
上述第二条权限是给Athena默认查询结果存储桶的访问权限,如果你自定义了Athena的查询结果存储路径,请替换为对应桶的ARN。
- 将创建好的策略附加到Quicksight的服务角色上。
2. 检查S3桶的访问控制规则
- 查看
s3://metadataitcfcontrol/和Athena查询结果桶的桶策略,确认没有拒绝Quicksight服务角色访问的规则,如果桶配置了IP/VPC访问限制,需要将Quicksight的服务网段或VPC端点加入白名单。 - 如果桶内的对象使用KMS密钥加密,需要给Quicksight服务角色添加对应KMS密钥的
kms:Decrypt权限。 - 如果S3桶和Quicksight属于不同的AWS账号,需要在桶策略中额外添加允许Quicksight所属账号的服务角色访问的规则。
3. 配置Quicksight控制台的S3访问白名单
Quicksight控制台有独立的S3访问授权配置,该配置缺失也会触发权限报错:
- 进入Quicksight控制台,点击右上角头像→「管理Quicksight」→「安全与权限」→「QuickSight 访问 AWS 服务」下的「添加或删除」
- 在S3服务的允许访问桶列表中,勾选
s3://metadataitcfcontrol/和Athena查询结果桶,保存配置。
4. 验证修复效果
先登录Athena控制台,手动执行对应表的查询,确认Athena本身可以正常返回结果后,回到Quicksight重新创建数据集即可。
内容的提问来源于stack exchange,提问作者Bokambo
相关产品推荐
相关产品推荐

