首页 > 解决方案 > 在 S3 存储桶中,“public”和“Objects can be public”有什么区别?

问题描述

我们有几个桶,一些是“公共的”,另一些是“对象可以是公共的”。而且我不明白有什么区别?

我不希望任何存储桶都可以公开列出。在所有存储桶上,我想控制人们可以访问或看到的内容。一些密钥是公开的(你仍然需要知道访问它的 URL,不允许列出)和一些私有密钥,所以你甚至不能告诉它在那里。

我应该使用什么配置?

我有时会收到来自 AWS 的警告通知,说存储桶是公开的,我应该检查我是否真的想要这个。有什么风险?我可以改变

在“权限”下的两个配置中,它都说

所以我什至看不出有什么区别?

标签: amazon-web-servicesamazon-s3

解决方案


要使存储桶成为“公共”,它必须具有向所有人授予某些权限的存储桶策略 ( *)。

对于“对象可以是公共的”,存储桶必须允许 ACL 允许将某些对象设置为公共(但不是整个存储桶)。这需要“关闭”阻止公共访问的“ACL”选项。

通过将 Block Public Access 设置为“on”,将无法通过存储桶策略或 ACL 访问任何内容。只能通过 IAM 权限进行访问。


推荐阅读