使用QuickSight时无法访问跨帐户S3存储桶

时间:2020-04-30 23:13:48

标签: amazon-s3 amazon-athena aws-kms amazon-quicksight ssm

背景

我正在执行一项任务,以根据帐户A S3存储桶(s3 sync)中的AWS Systems Manager库存数据生成帐户B中的AWS QuickSight报表。

我已成功使用SSM resource data sync将所有资源同步数据添加到跨帐户(帐户A)S3存储桶中。使用AWS-KMS密钥(密钥位于帐户A中)对存储桶进行加密,并且所有账户中的资源数据同步中都使用了相同的密钥,以在跨账户存储桶中添加数据。

此外,我正在帐户B中使用Athena从S3 Sync数据创建示例数据库和模式。

问题

Athena可以在帐户B中成功创建数据库和架构,还可以将帐户B中的元数据添加到帐户A S3存储桶中。当我尝试查看“预览表”时,它一直显示access denied

错误

您的查询具有以下错误:
com.amazonaws.services.s3.model.AmazonS3Exception:拒绝访问(服务:Amazon S3;状态代码:403;错误代码:AccessDenied;请求ID:3F5896D43C82733B; S3扩展请求ID (路径:s3:// bucket / AWS:Application / accountid = .. / region = us-east-1 / resourcetype = ManagedInstanceInventory / i-.. json)

Athena和QuickSight正在使用存储桶和密钥所在的帐户中,但我想将存储桶保留在其他帐户中。

我正在尝试实施Best practices for patching your AWS and hybrid environment,但是使用不同的帐户和KMS密钥。

我一直在跟踪有关KMS进行Athena跨帐户访问的所有文档,但是没有运气。还为QuickSight Service角色添加了解密IAM策略。

我的IAM角色具有完全管理员权限。它使用承担角色。

有人可以指导我解决这个问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

如果你是我 如果您为自亚太(香港)地区(ap-east-1)或更高版本开始在线的AWS区域创建资源数据同步,则必须在SSMBucketDelivery部分中输入特定于区域的服务主体条目。以下示例包括ssm.ap-east-1.amazonaws.com的特定于区域的服务主体条目

https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html