AWS CLI, izmantojot MFA

Tālāk tiks sniegti norādījumi par AWS MFA iestatīšanu un pēc tam AWS CLI instalēšanu un konfigurēšanu.

Diemžēl šī obligātā procedūra man aizņēma pusi no manas darba dienas. Lai citi nedroši AWS lietotāji 😉, tāpat kā es, netērētu dārgo laiku sīkumiem, nolēmu apkopot instrukcijas.

Pat smilškastes konta iestatīšanai MFA Parasti tā ir obligāta prasība. Tā tas ir pie mums.

MFA iestatīšana

  1. Komplekts saderīga mobilā lietotne
  2. Iet uz AWS konsole
  3. Mani drošības akreditācijas dati -> Piešķirt MFA ierīci
    AWS CLI, izmantojot MFA
  4. Virtuālā MFA ierīce
    AWS CLI, izmantojot MFA
  5. Izpildiet ekrānā redzamos norādījumus
    AWS CLI, izmantojot MFA
    AWS CLI, izmantojot MFA
  6. Virtuālā ierīce ir gatava
    AWS CLI, izmantojot MFA

AWS CLI instalēšana

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

Nosaukta profila iestatīšana

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

  1. Mani drošības akreditācijas dati -> Izveidot piekļuves atslēgu
    AWS CLI, izmantojot MFA
  2. Kopējiet atslēgu starpliktuvē. Jums tas būs nepieciešams nākamajā darbībā
  3. $ aws configure --profile <your profile name>

AWS CLI, izmantojot MFA

  1. Kopējiet virtuālo ierīci ARN
    AWS CLI, izmantojot MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Vienreizējā parole ir jāņem no iepriekš konfigurētās mobilās lietojumprogrammas.
  3. Komanda izvadīs JSON, kura atsevišķie lauki jāaizvieto ar attiecīgajiem vides mainīgajiem AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Es nolēmu automatizēt ~/.bash_profile
Lai parsētu JSON, šim skriptam ir nepieciešams 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 <одноразовый пароль>

Es ceru, ka šī instrukcija palīdzēs jums izvairīties no ilgstošas ​​klaiņošanas pa oficiālo dokumentāciju 😉

Avots: www.habr.com

Pievieno komentāru