我想阻止对S3存储桶的公共访问,但是授予对其对象的只读访问权限

时间:2019-09-04 08:34:14

标签: amazon-web-services security amazon-s3 static

我为托管静态网页的组织创建了一个S3存储桶。我想授予其只读公共访问权限,但总体上拒绝公共访问。

我尝试添加存储桶策略,该策略提供读取访问权限并在权限->阻止公共访问部分下阻止公共访问功能。但这使我在所有情况下都被拒绝访问。

禁用公共访问,但通过对外部对象的只读操作来设置s3存储桶的“允许”权限:

"Action":["s3:GetObject"]
{
   "Version": "2008-10-17",
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": "*",
           "Action": "s3:GetObject",
           "Resource": "eact resource information"
       }
   ]
}

这是我的S3网址带我去的地方:

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>7B5968B84E5DB018</RequestId><HostId>ehRR5C0zoZU0QO0e9SdetVsa/6TrO/kIRwynpSl+L4zFiP1I6yFwtHsembeQjnP/ozdeOgRBrdg=</HostId></Error>

1 个答案:

答案 0 :(得分:0)

要授予对存储桶中所有对象的公共访问权限,请使用以下存储桶策略:

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

(用您的存储桶名称替换my-bucket

您还需要关闭阻止公共访问,以启用存储桶策略。