Далі буде інструкція з налаштування AWS MFA, а також наступна установка та налаштування AWS CLI.
На жаль, у мене на цю обов'язкову процедуру пішла половина робочого дня. Щоб іншим невпевненим користувачам AWS 😉 як і я сам, не витрачати дорогоцінний час на банальний, вирішив скласти інструкцію.
Навіть для sandbox облікового запису налаштування - це, як правило, обов'язкова вимога. В нас це так.
Налаштування MFA
- Встановіть
- Зайдіть в
- -> Assign MFA Device

- Virtual MFA Device

- Дотримуйтесь інструкцій на екрані


- Віртуальний пристрій готовий

Встановлення AWS CLI
Налаштування іменованого профілю
- -> 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 цей скрипт вимагає .
#!/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







