S3网站端点访问

时间:2017-10-27 06:47:12

标签: amazon-web-services amazon-s3 permissions acl

s3 website endpoint docs说:

  

“为了让您的客户访问网站上的内容   端点,您必须使所有内容公开可读。“

这是否意味着:

  • 自动配置网站托管的存储桶 该桶的内容可通过网站端点读取(无论如何 每个对象的许可)

OR

  • 每个对象权限可以阻止通过网站端点访问特定内容,而其他内容可通过网站端点访问。

或其他一些我没想到的解释。

2 个答案:

答案 0 :(得分:2)

只需启用网站托管功能隐式地将整个广告资源设为公开。

存储桶的网站端点不支持使用预先签名的URL或Authorization标头访问私有对象...因此,如果您想使对象可访问,则必须在对象或桶级别,使用ACL或策略语句。

如果您不能访问它们,它们仍然无法访问。

答案 1 :(得分:1)

这里有两个方面,因为有两种不同的方式可以授予存储桶权限,

  • 存储桶级别权限(存储桶中所有文件的权限)
  • 对象权限(存储桶内每个文件的权限)

如果您需要存储桶级别权限,那么您必须创建存储桶策略,并且如果您向所有人(Principal:“*”)授予权限,则必须在该存储桶策略中,然后每个人都可以访问存储桶中的所有文件。 理想情况下,如果您在S3存储桶中托管静态网站,则应该为所有文件向公众提供完全只读权限。在这种情况下,您可以设置存储桶级别策略以向公众提供只读权限。

您可以通过访问控制列表设置对象级别权限,您可以为存储桶中的每个对象提供该权限。例如,如果存储桶中有10个文件,并且您只提供了两个公共访问文件,那么只有该文件可以被公共访问而不是其余文件