Я тестирую AWS и Elastic Beanstalk, и у меня на Beanstalk запущена версия, загруженная вручную.
Когда я пытаюсь обновить версию через командную строку, командная строка возвращает сообщение об ошибке, но 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 и ваши списки контроля доступа позволяют вам выполнять эти действия.
У кого именно нет разрешения?
Роль разрешений на работоспособность моей среды Beanstalk — это aws-elasticbeanstalk-service-role
та, к которой я прикрепил политику, предоставляющую доступ к S3 (я использую ту же политику для пользователя, который загрузил сборку в 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
(снет имени пользователя) говорит, что вы есть.