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
Amazon s3 s3:putObject的跨帐户权限未按预期工作_Amazon S3_Amazon Iam_Aws Iam - Fatal编程技术网

Amazon s3 s3:putObject的跨帐户权限未按预期工作

Amazon s3 s3:putObject的跨帐户权限未按预期工作,amazon-s3,amazon-iam,aws-iam,Amazon S3,Amazon Iam,Aws Iam,我正在尝试使用int提供的说明测试s3跨帐户权限。在文档示例中,帐户A创建对帐户B根具有读取权限的bucket策略。帐户B创建了一个用户Dave,并为他提供了一个bucket帐户的读取权限 我试过上面的例子,它对我来说非常好。但是,当我尝试使用相同的示例进行写访问时,它对我不起作用。例如,在我创建的帐户A中,使用了以下bucket策略 { "Version": "2012-10-17", "Statement": [ { "Sid": "Exa

我正在尝试使用int提供的说明测试s3跨帐户权限。在文档示例中,帐户A创建对帐户B根具有读取权限的bucket策略。帐户B创建了一个用户Dave,并为他提供了一个bucket帐户的读取权限

我试过上面的例子,它对我来说非常好。但是,当我尝试使用相同的示例进行写访问时,它对我不起作用。例如,在我创建的帐户A中,使用了以下bucket策略

     {
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Example permissions",
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::AccountB-ID:root"
         },
         "Action": [
            "s3:PutObject"    
         ],
         "Resource": [
            "arn:aws:s3:::examplebucket"
         ]
      }
   ]
}
在帐户B中,我创建了具有以下权限的用户Dave

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Example",
         "Effect": "Allow",
         "Action": [
            "s3: PutObject"
         ],
         "Resource": [
            "arn:aws:s3:::examplebucket"
         ]
      }
   ]
}
但当我尝试使用帐户B的用户Dave凭据放置对象时,访问被拒绝


这是预期的行为还是我遗漏了什么。

在您的用户策略中
s3:PutObject
中不应该有空格。

你好,Moe,这可能是我在stackoverflow中发布时的类型,但理想情况下iam中没有空格。我实际上使用了策略生成器。您能试着测试s3:*看看您所做的工作是否有效吗?如果有,你能试试s3:Put*看看是否有效吗?如果s3:PutObject不是单独工作的,您可能只是缺少一两个权限。