Poniżej znajduje się instrukcja dotycząca konfiguracji AWS MFA oraz późniejszej instalacji i konfiguracji AWS CLI.
Niestety, na tę obowiązkową procedurę poświęciłem połowę mojego dnia roboczego. Aby inni niepewni użytkownicy AWS 😉, tak jak ja, nie tracili cennego czasu na błahe czynności, postanowiłem stworzyć instrukcję.
Nawet dla konta sandbox konfiguracja jest zazwyczaj obowiązkowym wymaganiem. U nas jest to normą.
Konfiguracja MFA
- Zainstaluj
- Przejdź do
- -> Przydziel urządzenie MFA

- Wirtualne urządzenie MFA

- Postępuj zgodnie z instrukcjami na ekranie


- Wirtualne urządzenie jest gotowe

Instalacja AWS CLI
Konfiguracja nazwanej profilu
- -> Utwórz klucz dostępu

- Skopiuj klucz do schowka. Będzie potrzebny w następnym kroku.
$ aws configure --profile
AWS CLI przez MFA
- Skopiuj ARN wirtualnego urządzenia

aws sts get-session-token --profile --serial-number --token-code
Jednorazowy kod należy wziąć z wcześniej skonfigurowanej aplikacji mobilnej.- Polecenie zwróci JSON, a poszczególne pola należy wstawić do odpowiednich zmiennych środowiskowych AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.
Postanowiłem zautomatyzować to za pomocą ~/.bash_profile
Do analizy JSON ten skrypt wymaga .
#!/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 'Użycie:
$ aws-login-devMam nadzieję, że ta instrukcja pomoże ci uniknąć zbędnych poszukiwań w oficjalnej dokumentacji 😉
Źródło: habr.com







