Följande är instruktioner för att ställa in AWS MFA och efterföljande installation och konfiguration av AWS CLI.
Tyvärr tog den här obligatoriska processen hälften av min arbetsdag. För att andra osäkra AWS-användare 😉 som jag själv inte ska slösa bort värdefull tid på det grundläggande, bestämde jag mig för att skriva en instruktion.
Även för sandbox-kontot är inställningen — det är vanligtvis ett obligatoriskt krav. För oss är det så.
Inställning av MFA
- Installera
- Gå till
- -> Tilldela MFA-enhet

- Virtuell MFA-enhet

- Följ instruktionerna på skärmen


- Den virtuella enheten är klar

Installation av AWS CLI
Konfigurering av namngiven profil
- -> Skapa åtkomstnyckel

- Kopiera nyckeln till urklipp. Den kommer att behövas i nästa steg
$ aws configure --profile
AWS CLI via MFA
- Kopiera ARN för den virtuella enheten

aws sts get-session-token --profile --serial-number --token-code
Engångskoden ska tas från den mobilapp som konfigurerades tidigare.- Kommandot kommer att ge JSON, vars separata fält måste sättas in i motsvarande miljövariabler AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
Jag bestämde mig för att automatisera via ˜/.bash_profile
För att analysera JSON kräver detta skript .
#!/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 'Användning:
$ aws-login-devJag hoppas att denna instruktion hjälper dig att undvika långa svängar i den officiella dokumentationen 😉
Källa: habr.com







