【发布时间】:2017-10-27 06:47:12
【问题描述】:
“为了让您的客户访问网站上的内容 端点,您必须使您的所有内容公开可读。”
这是否意味着:
- 为网站托管自动配置存储桶可以使所有 该存储桶的内容可通过网站端点读取(无论 每个对象的权限)
或
- 按对象许可可以防止通过网站端点访问特定内容,而通过网站端点访问其他内容。
或其他一些我没有想到的解释。
【问题讨论】:
标签: amazon-web-services amazon-s3 permissions acl
“为了让您的客户访问网站上的内容 端点,您必须使您的所有内容公开可读。”
这是否意味着:
或
或其他一些我没有想到的解释。
【问题讨论】:
标签: amazon-web-services amazon-s3 permissions acl
仅启用网站托管功能不会隐式公开整个存储桶。
存储桶的网站端点不支持使用预签名 URL 或 Authorization 标头访问私有对象...因此,如果您想让对象可访问,您必须在对象或存储桶级别,使用 ACL 或策略语句。
如果您不让它们可访问,它们仍然无法访问。
【讨论】:
这里有两个方面,因为您可以通过两种不同的方式授予存储桶权限,
如果您想要存储桶级别的权限,那么您必须创建一个存储桶策略,并且在该存储桶策略中,如果您授予所有权限(主体:“*”),那么每个人都可以访问存储桶中的所有文件。 理想情况下,如果您在 S3 存储桶中托管静态网站,那么您应该向公众授予对所有文件的完全只读权限。在这种情况下,您可以设置存储桶级别的策略,向公众授予只读权限。
您可以通过访问控制列表设置对象级别的权限,您可以为存储桶中的每个对象授予它。例如,如果您在存储桶中有 10 个文件,并且您只授予了两个文件公共访问权限,那么只有该文件可以被公共访问,而不是其余的文件
【讨论】: