AWS CLI mitjançant MFA

A continuació hi haurà instruccions per configurar AWS MFA i després instal·lar i configurar AWS CLI.

Malauradament, aquest tràmit obligatori em va ocupar la meitat de la meva jornada laboral. Perquè altres usuaris d'AWS insegurs 😉, com jo, no perdin un temps preciós en el trivial, vaig decidir compilar instruccions.

Fins i tot per a la configuració del compte de sandbox MFA Normalment aquest és un requisit obligatori. Així és com passa amb nosaltres.

Configuració de l'MFA

  1. Instal·lar aplicació mòbil compatible
  2. Anar a Consola AWS
  3. Les meves credencials de seguretat -> Assigna un dispositiu MFA
    AWS CLI mitjançant MFA
  4. Dispositiu MFA virtual
    AWS CLI mitjançant MFA
  5. Seguiu les instruccions que apareixen a la pantalla
    AWS CLI mitjançant MFA
    AWS CLI mitjançant MFA
  6. El dispositiu virtual està preparat
    AWS CLI mitjançant MFA

Instal·lació d'AWS CLI

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

Configuració d'un perfil amb nom

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

  1. Les meves credencials de seguretat -> Crea clau d'accés
    AWS CLI mitjançant MFA
  2. Copieu la clau al porta-retalls. Ho necessitareu en el següent pas
  3. $ aws configure --profile <your profile name>

AWS CLI mitjançant MFA

  1. Copieu l'ARN del dispositiu virtual
    AWS CLI mitjançant MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    La contrasenya única s'ha de treure de l'aplicació mòbil configurada anteriorment.
  3. L'ordre generarà JSON, els camps individuals del qual s'han de substituir a les variables d'entorn corresponents AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Vaig decidir automatitzar-me ~/.bash_profile
Per analitzar JSON, aquest script requereix jq.

#!/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 <одноразовый пароль>

Espero que aquesta instrucció us ajudi a evitar llargues passejades per la documentació oficial 😉

Font: www.habr.com

Afegeix comentari