为什么我的 S3 文件网关无法访问跨账户用户上传的对象?

1 分钟阅读
内容级别:高级
3

由于对象所有权设置,Amazon S3 文件网关可能无法访问 S3 中的对象。当对象由不同的 AWS 账户上传并且所有权设置为“Object writer”而不是“Bucket owner enforced”时,可能会出现访问问题。更改设置可以解决问题。

问题:

客户报告称,他们在 Amazon S3 文件网关中的文件共享无法访问 S3 存储桶中的某个对象,尽管已经为文件共享的角色授予了必要的权限。

资源:

  • 账户 A: S3 存储桶 A
  • 账户 B: S3 文件网关 B 及其关联的文件共享与 S3 存储桶 A 相关联
  • 账户 C: 用户 C 将对象上传到 S3 存储桶 A

调查与分析:

经过调查,发现 S3 存储桶 A 的对象所有权设置为“Object writer”。有问题的对象是由来自不同 AWS 账户(账户 C)的用户 C 上传的。

Enter image description here

结果,对象的所有权归属于来自账户 C 的用户 C,而不是存储桶所有者(账户 A)。这意味着尽管对象在存储桶 A 中,Amazon S3 文件网关中的文件共享无法访问该对象。

解决方案:

为了解决这个问题,将 S3 存储桶 A 的对象所有权设置更改为“Bucket owner enforced”。

Enter image description here

此设置确保了无论对象是在对象所有权更改之前还是之后由跨账户用户上传的,存储桶 A 中的所有对象都归存储桶所有者账户 A 所有。

因此,Amazon S3 文件网关 B 中的文件共享能够访问存储桶所有者(账户 A)拥有的所有对象,包括由跨账户用户 C 上传的对象。

结论:

在调查 Amazon S3 文件网关的问题时,重要的是仔细检查所涉及的 S3 存储桶的设置,特别是对象所有权设置,因为这些设置会影响文件共享访问和使用对象的能力。

参考资料:

profile pictureAWS
专家
Tyler
已​发布 3 个月前1627 查看次数