Estou testando AWS e Elastic Beanstalk e tenho o Beanstalk executando uma versão que foi carregada manualmente.
Quando tento atualizar a versão através da linha de comando, a linha de comando retorna ok, mas o Beanstalk mostra um evento de erro.
[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 ~]$
Serviço:Amazon S3, Mensagem:Você não tem permissão para executar a ação 's3:ListBucket'. Verifique se suas políticas S3 e suas ACLs permitem que você execute essas ações.
Quem exatamente é que não tem permissão?
A função de permissões de integridade do meu ambiente Beanstalk é aws-elasticbeanstalk-service-role
à qual anexei uma política que concede acesso ao S3 (eu uso a mesma política para o usuário que carregou a compilação para o S3 e funcionou lá).
{
"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/*"
}
]
}
A função de perfil de instância do servidor do ambiente Beanstalk aws-elasticbeanstalk-ec2-role
também possui a política acima anexada.
Ativei o CloudTrail. Ele mostra a UpdateEnvironment
chamada, mas não mostra nenhuma chamada S3 depois disso. Não tenho certeza se o CloudTrail mostra chamadas com falha ou não.
No S3, ativei o logon para o bucket de builds, mas nada foi registrado.
o que estou perdendo?
Responder1
Você é quem aws iam get-user
(comsem nome de usuário) diz que você é.