Estoy probando AWS y Elastic Beanstalk y hago que Beanstalk ejecute una versión que se cargó manualmente.
Cuando intento actualizar la versión a través de la línea de comando, la línea de comando devuelve ok pero Beanstalk muestra un evento de error.
[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 ~]$
Servicio: Amazon S3, Mensaje: No tiene permiso para realizar la acción 's3:ListBucket'. Verifique que sus políticas de S3 y sus ACL le permitan realizar estas acciones.
¿Quién es exactamente el que no tiene permiso?
La función de permisos de salud de mi entorno Beanstalk es aws-elasticbeanstalk-service-role
a la que adjunté una política que otorga acceso a S3 (uso la misma política para el usuario que cargó la compilación en S3 y funcionó allí).
{
"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/*"
}
]
}
La función del perfil de instancia del servidor del entorno Beanstalk es aws-elasticbeanstalk-ec2-role
la que también tiene adjunta la política anterior.
Encendí CloudTrail. Muestra la UpdateEnvironment
llamada pero no muestra ninguna llamada S3 después de eso. No estoy seguro de si CloudTrail muestra llamadas fallidas o no.
En S3 activé el inicio de sesión para el depósito de compilaciones, pero no se registró nada.
¿Qué me estoy perdiendo?
Respuesta1
eres quien aws iam get-user
(consin nombre de usuario) dice que lo eres.