Serverless Framework и несколько профилей AWS

В моем файле учетных данных настроено несколько профилей AWS.

[dev]
aws_key = xx
aws_secret = yy
[qa]
aws_key = aa
aws_secret = bb
[prod]
aws_key = mm
aws_secret = qq

Можно ли при развертывании сообщить Serverless Framework, какие учетные данные использовать?

Например:

serverless deploy --profile prod

person Bubble Trouble    schedule 08.08.2017    source источник


Ответы (1)


Да, параметр командной строки --aws-profile. Например.:

serverless deploy --aws-profile prod

Документы здесь.

person Alex    schedule 08.08.2017
comment
Вы действительно заставили это работать? У меня никогда не было, и есть несколько проблем на github, посвященных тому, что это на самом деле не работает. Когда я его использую, он просто игнорирует то, что я ввожу, использует профиль по умолчанию и сообщает мне, что у меня нет разрешения. Однако переключение моего профиля отлично работает для всего остального с AWS. - person red6; 10.01.2018
comment
@red6 Я только что протестировал локально и смог развернуть с использованием указанной учетной записи. Какую версию Framework вы используете локально? - person Alex; 11.01.2018
comment
@1.25. Я нашел обходной инструмент, который предоставляет мне одну строку команды для экспорта правильного профиля в переменные env, но использование --aws-profile никогда не работало. Много комментариев на github по этому поводу. Используете ли вы один набор учетных данных с разными профилями ролей? Или совершенно разные профили и учетные данные. Поскольку я использую роли и один набор учетных данных, именно так наша компания работает и без проблем работает с интерфейсом командной строки AWS. - person red6; 11.01.2018
comment
@red6 Ааа, интересно. Я использую совершенно другие профили и учетные данные. Для вашей установки роли настроены в ~/.aws/config или ~/.aws/credentials? Serverless выглядит в последнем, но похоже, что ваша установка может быть настроена в первом? Защ. похоже, что-то исправить. - person Alex; 12.01.2018
comment
Мои учетные данные находятся в файле учетных данных, а роли — в файле конфигурации. Для многих ролей существует один набор учетных данных, что разрешено интерфейсом командной строки AWS. Это установка предполагаемой роли для работы с несколькими учетными записями: docs.aws.amazon. com/STS/latest/APIReference/API_AssumeRole.html - person red6; 12.01.2018
comment
Я решил это в соответствии с рекомендацией о бессерверном потоке github: github.com/remind101/assume-role - person red6; 12.01.2018
comment
Установив env var AWS_SDK_LOAD_CONFIG, он загрузит именованные профили в ~/.aws/config. Подробнее см. здесь: docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/ - person Andrew; 03.01.2019