【问题标题】:AWS S3 make bucket publicAWS S3 公开存储桶
【发布时间】:2020-08-05 18:23:38
【问题描述】:

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

【问题讨论】:

  • 您可以分享您正在使用的存储桶策略吗?

标签: amazon-web-services amazon-s3


【解决方案1】:

您提到的link 仍然可以正常工作!

连同“Bucket Public Access”选项,您应该在“Bucket Policy”中粘贴以下存储桶策略:

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

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

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

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

此外,您可以使用AWS policies generator 来获得更多访问权限。

希望能帮到你。

【讨论】:

  • 我试过了,但在应用策略时遇到了访问被拒绝的问题。我已经用拒绝访问的图片更新了我的问题。
【解决方案2】:

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

{
   "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 边界。

如果您无法修改您的权限,或者您的帐户是通过服务提供给您的,您需要与他们沟通。

【讨论】:

  • 访问被拒绝是实际问题,我是拥有完整管理员权限的用户,我再次创建了一个拥有完整管理员权限的用户,但同样的问题访问被拒绝。 SCP 被禁用。你知道如果我采用不同原则的相同策略,如“Principal”:{“AWS”:“arn:aws:iam::accountnumber:root”},我可以做到,其中帐号是我的实际帐号
  • "Principal" : { "AWS" : "*" }怎么样
  • 它同样的访问被拒绝,我认为它是别的东西。
猜你喜欢
  • 2020-02-20
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 2020-08-21
  • 2019-02-21
  • 2011-02-02
相关资源
最近更新 更多