вариант как решить мою проблему но я не уверен что это лучшее решение, в чем суть:
Есть код терраформа куда подключено 2 провайдера,
Провайдер A (он же тулз )
Провайдер B (он же прод)
я хочу сделать codepipeline который бы делал terraform apply сразу в нескольких аккаунтах из одного пайплайна
assume роль я уже настроил, у меня мой пайплайн в аккаунте А может принимать роль с аккаунта В
я поднимаю codebuild контейнер в котором выполняю
aws_credentials=$(aws sts assume-role --role-arn arn:aws:iam::{ACCOUNT B}:role/Pipeline --role-session-name "Pipeline")
export AWS_ACCESS_KEY_ID=$(echo $aws_credentials|jq '.Credentials.AccessKeyId'|tr -d '"')
export AWS_SECRET_ACCESS_KEY=$(echo $aws_credentials|jq '.Credentials.SecretAccessKey'|tr -d '"')
export AWS_SESSION_TOKEN=$(echo $aws_credentials|jq '.Credentials.SessionToken'|tr -d '"')
и получаеться что у меня внутри codebuild контейнера подключен аккаунт В и я могу делать terraform apply, именя доступа ко всем ресурсам.
Скажите мне, правильно ли я придумал или все это бред ? Заранее спасибо
нормально, единственное, что я бы креды и роли вынес в бото профайл
Обсуждают сегодня