AWS CLI per MFA

Poste estos instrukcioj por agordi AWS MFA, kaj poste instali kaj agordi AWS CLI.

Bedaŭrinde, ĉi tiu deviga proceduro prenis al mi duonon de mia labortago. Por ke aliaj nesekuraj AWS-uzantoj 😉, kiel mi mem, ne malŝparu altvaloran tempon pri la bagatela, mi decidis kompili instrukciojn.

Eĉ por agordo de konto de sablokesto MFA Ĉi tio estas kutime deviga postulo. Jen kiel estas ĉe ni.

Agordo de MFA

  1. Instali kongrua poŝtelefona aplikaĵo
  2. Iru al AWS-konzolo
  3. Miaj Sekurecaj Akreditaĵoj -> Asigni MFA-Aparaton
    AWS CLI per MFA
  4. Virtuala MFA-Aparato
    AWS CLI per MFA
  5. Sekvu la instrukciojn sur la ekrano
    AWS CLI per MFA
    AWS CLI per MFA
  6. Virtuala aparato estas preta
    AWS CLI per MFA

Instalante AWS CLI

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

Agordante nomitan profilon

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

  1. Miaj Sekurecaj Akreditaĵoj -> Krei alirŝlosilon
    AWS CLI per MFA
  2. Kopiu la ŝlosilon al via tondujo. Vi bezonos ĝin en la sekva paŝo
  3. $ aws configure --profile <your profile name>

AWS CLI per MFA

  1. Kopiu la virtualan aparaton ARN
    AWS CLI per MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    La unufoja pasvorto devas esti prenita de la movebla aplikaĵo agordita pli frue.
  3. La komando eligos JSON, kies individuaj kampoj devas esti anstataŭigitaj en la respondajn mediovariablojn AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Mi decidis aŭtomatigi tra ~/.bash_profile
Por analizi JSON, ĉi tiu skripto postulas 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 '

Uzante:

$ aws-login-dev <одноразовый пароль>

Mi esperas, ke ĉi tiu instrukcio helpos vin eviti longajn vagadojn tra la oficiala dokumentaro 😉

fonto: www.habr.com

Aldoni komenton