【问题标题】:aws s3 website hosting, setting permissions for private keys fileaws s3网站托管,设置私钥文件的权限
【发布时间】:2015-03-11 20:55:16
【问题描述】:

我有一个托管在 aws s3 存储桶上的静态网站。我正在使用一些不同的 api,如 google、trello 等。我不确定如何将其中一些密钥保密,因为我将存储桶设置为使用 PublicReadForGetBucketObjects,这会使整个网站公开。我已经研究了AssumeRoleWithWebIdentity 和限制访问的权限,但仍然无法弄清楚如何将我的一个文件设为私有。在我看来,这可能很容易,但我找不到方法。

这是我的存储桶策略的样子

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "PublicReadForGetBucketObjects",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::[my bucket]/*"
    }
  ]
}

谢谢

【问题讨论】:

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


    【解决方案1】:

    您列出的策略可以应用权限基于路径。例如,将资源设置为arn:aws:s3:::[my bucket]/public/* 只会使公共子目录公开(或更准确地说,任何以/public/ 开头的路径)。

    同样,策略也可以定义一个专门拒绝的路径,这将覆盖允许(因此您可以公开所有内容,然后专门拒绝某些文件和路径)

    但是,您提到您希望将某些文件保密,但这是一个静态网站,没有计算组件。只有“某些”网站才能访问所需的对象是不可能的,因为所有逻辑都发生在用户的浏览器中,而不是在您的 Web 服务器上。因此,文件可能是公共的或私有的,但私有文件不能作为静态网站的一部分访问。这可能不是您想要实现的目标。

    【讨论】:

    • 感谢您澄清这一点。这确实不是我想要实现的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    相关资源
    最近更新 更多