aws s3网站托管,设置私钥文件的权限

时间:2015-01-13 19:26:52

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

我在aws s3存储桶上托管了一个静态网站。我正在使用一些不同的api,如谷歌,trello等。我不知道如何将这些密钥保密,因为我设置我的桶以使用PublicReadForGetBucketObjects使整个网站公开。我查看了AssumeRoleWithWebIdentity和限制访问权限,但仍然无法弄清楚如何将我的一个文件设为私有。在我看来,这可能很容易,但我找不到办法。

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

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

由于

1 个答案:

答案 0 :(得分:2)

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

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

但是,您提到您希望将某些文件保密,但这是一个静态网站,没有计算组件。只有'某些人不可能做到这一点。您的网站访问所需的对象,因为所有的逻辑都在您的用户中进行'浏览器而不是您的Web服务器。因此,文件可以是公共文件,也可以是私有文件,但私有文件无法作为静态网站的一部分进行访问。这可能不是你想要实现的目标。