Я создал пользователя «Программный доступ» с полными разрешениями на чтение и список на Elastic Beanstalk, которые предоставляются специально созданной мной политикой. Это означает, что когда я перехожу на страницу «Сводка политики», я вижу: - Служба: эластичный бобовый стебель - Уровень доступа: Полный: список, чтение - Ресурс: Все ресурсы - Условие запроса: Нет
В describe-environments
команда работает нормально: aws elasticbeanstalk describe-environments
.
Однако describe-configuration-settings
терпит неудачу. Вот как я его запускаю: aws elasticbeanstalk describe-configuration-settings --application-name my-app-name --environment-name my-app-name-uat
.
Та же ошибка произошла при использовании Java SDK, но приведенные выше команды, как и ожидалось, имеют аналогичное поведение.
В качестве дополнительного примечания команда aws sts get-caller-identity
возвращает правильного пользователя, поэтому я уверен, что использую ожидаемые учетные данные.
Кто-нибудь знает, не хватает ли мне другого разрешения или есть какие-либо советы о том, как продолжить расследование? Я хотел максимально ограничить разрешения для этого пользователя.
Заранее спасибо.
Хотя я точно не знаю, какие разрешения требуются для этой конкретной операции, для всех операций API, выполняемых в учетной записи, есть журналы CloudTrail (или некоторые аналогичные). Просматривая их, вы узнаете, какие именно вызовы выполняются, и оттуда вы сможете определить, какие дополнительные разрешения вам необходимо предоставить, чтобы ваша операция работала.
Этот процесс работает так хорошо для всех сервисов AWS, что я отказался от попыток определить разрешения из документации; в наши дни я обычно просто создаю новую пару пользователь / ключ без разрешений, а затем постепенно добавляю разрешения по мере сбоя.
Вам могут потребоваться разрешения для сегментов S3.
{
"Action": [
"s3:*"
],
"Resource": "arn:aws:s3:::elasticbeanstalk-*",
"Effect": "Allow"
}