ТИМ аркылуу AWS CLI

Далее последует инструкция по настройке AWS MFA, и последющей установке и настройке AWS CLI.

К сожалению, у меня на эту обязательную процедуру ушла половина рабочего дня. Чтобы другим неуверенным пользователям AWS 😉 как и я сам, не тратить драгоценное время на банальное, решил составить инструкцию.

Даже для sandbox аккаунта настройка Тышкы иштер министрлиги — это, как правило, обязательное требование. У нас это так.

Настройка MFA

  1. орнотуу совместимое мобильное приложение
  2. барып, AWS консоль
  3. My Security Credentials -> Assign MFA Device
    ТИМ аркылуу AWS CLI
  4. Virtual MFA Device
    ТИМ аркылуу AWS CLI
  5. Экранда көрсөтмөлөрдү аткарыңыз
    ТИМ аркылуу AWS CLI
    ТИМ аркылуу AWS CLI
  6. Виртуальное устройство готово
    ТИМ аркылуу AWS CLI

Установка 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

  1. My Security Credentials -> Create access key
    ТИМ аркылуу AWS CLI
  2. Скопируйте ключ в буфер обмена. Он понадобится на следующем шаге
  3. $ aws configure --profile <your profile name>

ТИМ аркылуу AWS CLI

  1. Скопируйте ARN виртуального устройства
    ТИМ аркылуу AWS CLI
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Одноразовый пароль необходимо взять из мобильного приложения настроенного ранее.
  3. Команда выведет 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 <одноразовый пароль>

Надеюсь данная инструкция поможет вам избежать пространных блужданий по официальной документации 😉

Source: www.habr.com

Комментарий кошуу