AWS S3公开存储桶

时间:2020-08-05 18:23:38

标签: amazon-web-services amazon-s3

我以管理员权限登录到AWS。我正在尝试公开进行存储桶的读取,写入。我已取消选择这些选项。我也遵循了这个Duplicate,并尝试更新存储桶策略,但出现拒绝访问错误。所有这些答案都来自2018年。

Block public access (bucket settings)

Access Deny

2 个答案:

答案 0 :(得分:1)

您引用的link仍然可以正常工作!

连同“桶公共访问”选项一起,您应将以下桶策略粘贴到“桶策略”中:

print(a+b)

这会将读取和写入操作授予您的存储桶。

请记住,要更改存储桶的 Amazon资源名称(arn),其中存储桶策略中的键指向“资源”

您可以在存储桶策略粘贴字段上方找到存储桶的信息。

此外,您可以利用AWS policies generator获得进一步的访问权限。

希望我能帮上忙。

答案 1 :(得分:0)

如果您的存储桶策略使用以下内容,则至少已将其设置为允许公共读写。请注意,这是匿名的,因此任何人都可以对存储桶执行读取或写入操作,您仍将对此负责。

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

请注意,如果涉及到ACL,则还需要应用s3:PutObjectAcl的权限。此外,ACL还需要授予公共读/写权限,这在您使用存储桶策略执行此操作时会违反直觉。

如果在更新存储桶策略时访问被拒绝,则禁止用户执行该操作。

有几种原因可能导致这种情况发生:

  • 您的IAM用户没有IAM策略权限。
  • 您的帐户是AWS组织的一部分,该组织正在使用SCP(服务控制策略)禁止应用存储桶策略。
  • 您的IAM用户已配置了禁止此访问的IAM边界。

如果您无权修改权限,或者您的帐户是通过服务授予给您的,则需要与他们进行沟通。