2015-05-18 70 views
1

我想一些文件从我的EC2实例S3复制并使用以下命令s3cmd把访问失败拒绝

s3cmd put datafile s3://mybucket/datafile 

,并出现以下错误

ERROR: S3 error: Access Denied 

我有以下IAM政策

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
      "ec2:*", 
      "s3:ListAllMyBuckets", 
      "s3:ListBucket" 
     ], 
     "Resource": "*" 
    } 
] 
} 

S3斗政策mybucket

{ 
"Version": "2008-10-17", 
"Id": "backupPolicy", 
"Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::xxxxx:user/xxxx" 
     }, 
     "Action": [ 
      "s3:ListBucket", 
      "s3:PutObjectAcl", 
      "s3:PutObject" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::mybucket/*", 
      "arn:aws:s3:::mybucket" 
     ] 
    } 
] 
} 

我不知道我在做什么错。 s3cmd ls s3://mybucket工作正常。

我试着在SO上搜索这个问题,但所有的帖子基本上要求你添加IAM策略,我已经有了。

回答

1

我认为你需要有写权限为IAM除了列出:

{ 
"Version": "2012-10-17", 
"Statement": [ 
{ 
    "Effect": "Allow", 
    "Action": [ 
     "ec2:*", 
     "s3:ListAllMyBuckets", 
     "s3:ListBucket" 
    ], 
    "Resource": "*" 
}, 
{ 
    "Sid": "Stmt1406613887001", 
    "Effect": "Allow", 
    "Action": [ 
    "s3:*" 
    ], 
    "Resource": [ 
    "arn:aws:s3:::mybucket", 
    "arn:aws:s3:::mybucket/*" 
    ] 
} 
] 
} 
1

用户IAM政策需要的权限为读/写,不(只)桶。 AWS将始终应用更严格的策略,并默认为隐式“拒绝”。

我发现存储桶策略更适合公共访问(即向全球服务资产),而不是限制委托人。当您开始合并存储桶+用户策略时,会出现复杂情况,并且管理用户端通常容易得多。

相关问题