【发布时间】:2021-10-06 13:32:48
【问题描述】:
- 我设置了 Kinesis Firehose。
- 使用 PUT 数据流。
- 它将 CSV 数据写入 S3。
- 这是跨账户写入,从一个 AWS 账户到 另一个。
这一切都很好。 我可以下载它写入S3的数据,我可以查询它。
- 另一个团队创建了不同的 Firehose
- 这是在他们的 AWS 账户中,用于将数据写入我的 S3 存储桶。
- 数据到了,可以在控制台看到。
- 他们以 Parquet 格式书写。
由于某种原因,如果我尝试下载或查询他们写入 S3 的任何内容,我会收到“拒绝访问”。
我从自己的 firehose(在第三个不同的帐户中)将数据发送到 S3 存储桶,我可以看到这很好。 只有来自 Firehose 的 Parquet 格式数据会被拒绝访问。
疑难解答
我比较了我的 firehose 中的对象与他们的 firehose 中的对象之间的对象级权限: (其中每一个都来自我 S3 存储桶所在的账户中的不同账户)。
- 以下是我对 S3 存储桶中的(CSV、文本)对象的对象权限:
这些是我可以很好阅读的 S3 对象。
Grantee:对象所有者(外部帐户)规范 ID:4aXXXXXXedc8fd
对象:读取
对象 ACL:读取,写
Grantee:您的 AWS 账户 规范 ID:c43XXXXXXXX97958
对象:读取
对象 ACL:读取、写入
- 以下是其他团队注入存储桶的(Parquet JSON)对象的对象权限:
这些是我拒绝访问的对象。
它们具有完全相同的权限,显然对象所有者帐户 id 不同,因为它是从不同帐户的 firehose 写入的。
Grantee:对象所有者(外部帐户)规范 ID:2efXXXXXXd5e2d
对象:读取
对象 ACL:读取,写
Grantee:您的 AWS 账户 规范 ID:c43XXXXXXXX97958
对象:读取
对象 ACL:读取、写入
问题:
为什么我在其他团队的 Firehose 创建的 S3 对象上收到“拒绝访问”?
对象级权限看起来一样。
【问题讨论】:
标签: amazon-s3 amazon-kinesis access-denied firehose