Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 S3桶策略中的资源无效_Amazon S3 - Fatal编程技术网

Amazon s3 S3桶策略中的资源无效

Amazon s3 S3桶策略中的资源无效,amazon-s3,Amazon S3,我试图公开我的整个S3存储桶,但当我尝试添加策略时: { "Id": "Policy1454540872039", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1454540868094", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws: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
,这绝对是正确的bucket名称。有人知道发生了什么吗?

当我试图在错误的桶上设置策略时,我遇到了这个“问题”。也就是说,策略中我的arn读取的是
arn:aws:s3:::my-bucket-A/*
,但我试图将其设置为
my-bucket-B

,我也遇到了此错误。下面的更改修复了它。。。不知道为什么

这个桶抛出了错误:bleeblahblo stuff

这起作用了:bleeblahblostuff


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

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

  "Principal": {
  "AWS": [
     "*********"
请参阅此文档并进行相应更新。这将解决这个问题。
另请参见的Bucket Permissions部分。

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

管理公共访问控制列表(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。

我已经通过这个解决了这个问题

arn:aws:s3::您的存储桶名称在这里/*


如果您正在尝试AWS startup workshop,请尝试关闭网站-bucket-policy.json文件,然后重新打开它。这对我来说很有效,我猜json文件的更新不会自动保存,除非您关闭它。

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

我意识到我的bucket有一个“.com”扩展,需要包含在您的arn中。

我面临着同样的问题。我没有使用正确的资源名称。 我确实将资源名称更改为我正在为其创建
bucket策略的bucket的确切名称,例如

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


如果要为接入点创建策略,aws似乎只接受以下格式: i) 必须指定帐户id和区域;和 ii)必须包含文本字符串对象(对象不是我的bucket名称)

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


我在这里找到了这个答案->

哦,不,它似乎并不一定是正确的bucket名称
指定的bucket不存在fluerysnap
我不知道该告诉你什么,我的bucket称为“fluerysnap”@Michael sqlbotIt不可能,除非S3有某种传播问题。参见
http://sneakysnap.s3.amazonaws.com
以供确认。您可以尝试创建一个同名的(-other)bucket。。。这应该是不可能的,如果这已经是你的,它将失败。。。如果不成功,就要成功。我怀疑那里某个地方有个奇怪的人物。名字是区分大小写的。我相信你,但我甚至复制并粘贴了贝克特的名字@Michael Sqlbot你确定你的桶的名字前面没有前导/吗?不管怎样,S3服务总是返回bucket不存在NoSuchBucket指定的bucket不存在,这正是发生在我身上的事情。确保S3 bucket策略只命名您要应用它们的bucket。我们需要一个facepalm按钮和upvoting。谢谢Amazon应该这样做,以便在向引用自身的资源添加策略时可以使用关键字,例如:arn:aws:s3::${aws:self}您救了我一天。
"Resource": "arn:aws:s3:::abc12/*"