存储桶策略中的S3无效资源

时间:2016-02-03 23:19:36

标签: amazon-s3

我正在尝试将整个S3存储桶公开,但是当我尝试添加策略时:

{
  "Id": "Policy1454540872039",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1454540868094",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::sneakysnap/*",
      "Principal": {
      "AWS": [
         "985506495298"
    ]
  }
  }
  ]
}

它告诉我我的“资源无效”,但这绝对是正确的arn,这绝对是正确的存储桶名称。有谁知道发生了什么事?

10 个答案:

答案 0 :(得分:21)

我有这个"问题"当我试图在错误的桶上设置策略。也就是说,我的政策中的arn正在阅读arn:aws:s3:::my-bucket-A/*,但我试图将其设置为my-bucket-B

答案 1 :(得分:2)

我遇到了同样的问题,以下内容可以解决您的错误。我希望这可以帮助面临相同问题的任何人。您需要指定与负载均衡器和存储桶的区域相对应的帐户ID。

  "Principal": {
  "AWS": [
     "*********"

请参考并更新。这样可以解决这个问题。 另请参见Access Logs for Your Application Load Balancer的“存储桶权限”部分。

答案 2 :(得分:2)

如果您正在为接入点创建策略,则 aws 似乎只接受以下格式: i) 必须指定账户 ID 和地区;和 ii) 必须包含文字字符串对象(对象不是我的存储桶名称)

arn:aws:s3:region:accountid:accesspoint/myaccesspointname/object/*

我在这里找到了这个答案 -> https://forums.aws.amazon.com/thread.jspa?threadID=315596

答案 3 :(得分:1)

我已经解决了这个问题

  

arn:aws:s3 ::: 此处的存储桶名称 / *

'

答案 4 :(得分:0)

我也遇到了这个错误。以下更改修复了它......不知道为什么。

这个桶抛出错误: bleeblahblo-stuff

这有效: bleeblahblostuff

也许是冲刺......也许斗长......或者两者的结合?两个桶都具有相同的设置。嗯。

答案 5 :(得分:0)

我的问题是,当我创建S3存储桶时,默认情况下,以下情况是正确的:

管理公共访问控制列表(ACL)

Block new public ACLs and uploading public objects (Recommended)
True

Remove public access granted through public ACLs (Recommended)
True

管理公共存储桶策略

Block new public bucket policies (Recommended)
True

Block public and cross-account access if bucket has public policies (Recommended)
True

我必须将所有这些都设置为false才能更改我的存储桶策略。

答案 6 :(得分:0)

如果您正在尝试AWS启动研讨会,请尝试关闭website-bucket-policy.json文件,然后重新打开它。它对我有用,我猜除非您关闭json文件的更新,否则不会自动保存。

答案 7 :(得分:0)

查看您在“资源”中指定的存储桶名称是否存在。 Vitaly的上述回答解决了我的问题。

答案 8 :(得分:0)

我意识到我遇到的问题是我的存储桶具有“ .com”扩展名,该扩展名必须包含在您的arn中

答案 9 :(得分:0)

我面临着同样的问题。我没有使用正确的资源名称。 我确实将资源名称更改为我正在为其创建border-box的存储桶的名称,例如

bucket policy

"Resource": "arn:aws:s3:::abc/*"