我正在测试 AWS 和 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”操作。请验证您的 S3 策略和 ACL 是否允许您执行这些操作。
到底是谁没有权限?
我已将授予 S3 访问权限的策略附加到我的 Beanstalk 环境的健康权限角色aws-elasticbeanstalk-service-role
(我对将构建上传到 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 环境服务器的实例配置文件角色aws-elasticbeanstalk-ec2-role
也附加了上述策略。
我打开了 CloudTrail。它显示了UpdateEnvironment
呼叫,但此后没有显示任何 S3 呼叫。我不确定 CloudTrail 是否显示失败的呼叫。
在 S3 中,我打开了构建存储桶的日志记录,但没有任何记录。
我错过了什么?
答案1
你是谁aws iam get-user
(与没有用户名) 说是的。