A continuación se presenta una guía para configurar AWS MFA y la posterior instalación y configuración de AWS CLI.
Desafortunadamente, me llevó media jornada laboral completar este procedimiento obligatorio. Para que otros usuarios poco seguros de AWS 😉, como yo mismo, no pierdan tiempo valioso en cosas triviales, decidí elaborar esta guía.
Incluso para una cuenta de sandbox, la configuración es, por lo general, un requisito obligatorio. Así es en nuestro caso.
Configuración de MFA
- Instala
- Accede a
- -> Asignar dispositivo MFA

- Dispositivo MFA virtual

- Sigue las instrucciones en pantalla


- El dispositivo virtual está listo

Instalación de AWS CLI
Configuración de un perfil nombrado
- -> Crear clave de acceso

- Copia la clave en el portapapeles. La necesitarás en el siguiente paso.
$ aws configure --profile
AWS CLI a través de MFA
- Copia el ARN del dispositivo virtual

aws sts get-session-token --profile --serial-number --token-code
El código de un solo uso debe tomarse de la aplicación móvil que se configuró anteriormente.- El comando devolverá JSON, cuyos campos individuales deben asignarse a las variables de entorno AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.
Decidí automatizarlo a través de ~/.bash_profile
Para analizar JSON, este script requiere .
#!/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 'Uso:
$ aws-login-devEspero que esta guía te ayude a evitar perderte en la documentación oficial 😉.
Fuente: habr.com







