[Amazon Web Services, DevOps] AWS CLI через MFA

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
23-Авг-2020 18:31

Далее последует инструкция по настройке AWS MFA, и последющей установке и настройке AWS CLI.
К сожалению, у меня на эту обязательную процедуру ушла половина рабочего дня. Чтобы другим неуверенным пользователям AWS ;) как и я сам, не тратить драгоценное время на эту банальное, решил составить инструкцию.
Даже для sandbox аккаунта настройка MFA — это, как правило, обязательное требование. У нас это так.
Настройка MFA

Установка AWS CLI
https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html
Настройка именованного профиля
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
  • My Security Credentials -> Create access key

  • Скопируйте ключ в буфер обмена. Он понадобится на следующем шаге
  • $ aws configure --profile <your profile name>

AWS CLI через MFA
  • Скопируйте ARN виртуального устройства

  • aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Одноразовый пароль необходимо взять из мобильного приложения настроенного ранее.
  • Команда выведет JSON, отдельные поля которго необходимо подставить в соответствующие переменные окржуения AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Я решил автоматизировать через ~/.bash_profile
Для разбора JSON данный скрипт требует jq.
#!/usr/bin/env bash
aws_login() {
    session=$(aws sts get-session-token "$@")
    echo "${session}"
    AWS_ACCESS_KEY_ID=$(echo "${session}" | jq -r '.Credentials.AccessKeyId')
    export AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY=$(echo "${session}" | jq -r '.Credentials.SecretAccessKey')
    export AWS_SECRET_ACCESS_KEY
    AWS_SESSION_TOKEN=$(echo "${session}" | jq -r '.Credentials.SessionToken')
    export AWS_SESSION_TOKEN
}
alias aws-login-dev='aws_login --profile <имя dev профиля> --serial-number <ARN виртуального устройства> --token-code '
alias aws-login-prod='aws_login --profile <имя prod профиля> --serial-number <ARN виртуального устройства> --token-code '

Использование:
$ aws-login-dev <одноразовый пароль>

Надеюсь данная инструкция поможет вам избежать пространных блужданий по официальной документации ;)
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_amazon_web_services, #_devops, #_aws, #_cli, #_mfa, #_shell, #_devops, #_recipes, #_amazon_web_services, #_devops
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:17
Часовой пояс: UTC + 5