Следва инструкция за настройка на AWS MFA и последваща инсталация и настройка на AWS CLI.
За съжаление, за тази задължителна процедура ми отне половината работен ден. За да не губят време други неуверени потребители на AWS 😉 като мен, реших да съставя инструкция.
Дори за sandbox акаунт настройката е обикновено задължително изискване. При нас е така.
Настройка на MFA
- Установете
- Отидете в
- -> Назначаване на устройството MFA

- Виртуално устройство MFA

- Следвайте инструкциите на екрана


- Виртуалното устройство е готово

Инсталация на AWS CLI
Настройка на именуван профил
- -> Създайте ключ за достъп

- Копирайте ключа в буфера за обмен. Той ще е необходим на следващата стъпка
$ aws configure --profile
AWS CLI чрез MFA
- Копирайте ARN на виртуалното устройство

aws sts get-session-token --profile --serial-number --token-code
Еднократният парол трябва да се вземе от мобилното приложение, настроено по-рано.- Командата ще изведе JSON, отделните полета на който трябва да се поставят в съответните променливи на околната среда AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.
Реших да автоматизирам чрез ~/ .bash_profile
За обработка на JSON, този скрипт изисква .
#!/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







