【问题标题】:S3 website endpoint accessS3 网站端点访问
【发布时间】:2017-10-27 06:47:12
【问题描述】:

s3 website endpoint docs 说:

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

这是否意味着:

  • 为网站托管自动配置存储桶可以使所有 该存储桶的内容可通过网站端点读取(无论 每个对象的权限)

  • 按对象许可可以防止通过网站端点访问特定内容,而通过网站端点访问其他内容。

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

【问题讨论】:

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


    【解决方案1】:

    仅启用网站托管功能不会隐式公开整个存储桶。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-18
        • 2018-11-01
        • 1970-01-01
        • 2017-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多