在S3存储桶中,“公共”和“对象可以是公共”之间有什么区别?

时间:2020-10-13 01:00:39

标签: amazon-web-services amazon-s3

我们有几个存储桶,有些存储桶是“公共的”,其他存储桶是“对象可以是公共的”。而且我不知道有什么区别?

我不希望任何存储桶都可以公开列出。在所有存储桶上,我都想控制人们可以访问或看到的内容。某些密钥是公用的(您仍然需要知道URL才能访问它,不允许列出),而某些密钥是专用的,因此您甚至无法知道它的存在。

我应该使用什么配置?

有时我会从AWS收到警告通知,说存储桶是公共的,我应该检查我是否真的想要这样做。有什么风险?而且我可以更改

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

  • 阻止所有公共访问-关闭
    • 阻止对通过新访问控制列表(ACL)授予的存储桶和对象的公共访问-关闭
    • 阻止对通过任何访问控制列表(ACL)授予的存储桶和对象的公共访问-关闭
    • 阻止对通过新的公共存储桶或访问点策略授予的存储桶和对象的公共访问-关闭
    • 通过任何公共存储桶或访问点策略阻止对存储桶和对象的公共和跨帐户访问-关闭

所以我什至看不到区别?

1 个答案:

答案 0 :(得分:0)

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

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

鉴于您的所有设置当前都处于“关闭”状态,则无法通过存储区策略或ACL访问任何内容。只有通过IAM权限才能访问。