从S3部署到Elastic Beanstalk会给出“您没有权限” – 谁是“您”?

我正在testingAWS和Elastic Beanstalk,并让Beanstalk运行手动上传的版本。

当我尝试通过命令行更新版本时,命令行返回OK,但Beanstalk显示错误事件。

[ec2-user@ip-172-31-35-38 ~]$ /usr/bin/aws elasticbeanstalk update-environment --environment-name play-app-test --version-label play-app-1051 --region us-east-1 True play-app play-app-test.elasticbeanstalk.com 2015-09-27T04:05:25.486Z 2015-09-27T06:07:28.031Z .....us-east-1.elb.amazonaws.com e-jk8fyjd3dt play-app-test Grey 64bit Amazon Linux 2015.03 v2.play-app-1051Node.js TIER WebServer Standard [ec2-user@ip-172-31-35-38 ~]$ 

服务:Amazon S3,消息:您无权执行“s3:ListBucket”操作。 validation您的S3策略和您的ACL允许您执行这些操作。

到底是谁没有权限?

我的Beanstalk环境的健康权限angular色是aws-elasticbeanstalk-service-role ,我附加了一个授予对S3的访问权限的策略(我使用上传构build到S3的用户的相同策略,并在那里工作)。

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::play-app-builds" }, { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "arn:aws:s3:::play-app-builds/*" } ] } 

Beanstalk环境服务器的实例configuration文件angular色是aws-elasticbeanstalk-ec2-role ,它也具有上述策略。

我打开了CloudTrail。 它显示UpdateEnvironment调用,但是之后不显示任何S3调用。 我不确定CloudTrail是否显示失败的通话。

在S3中,我打开了构build桶的日志logging,但没有logging。

我错过了什么?

你是谁是谁的aws iam get-user ( 没有用户名 )说你是。