AWS CLI caur MFA

Tālāk sekos instrukcija par AWS MFA iestatīšanu, kā arī AWS CLI uzstādīšanu un konfigurēšanu.

Diemžēl šai obligātajai procedūrai man aizgāja puse darba dienas. Lai citiem neuzticamajiem AWS lietotājiem 😉, kāds biju es pats, netērētu dārgo laiku muļķīgām lietām, nolēmu sagatavot instrukciju.

Pat sandbox kontam iestatīšana MFA — parasti ir obligāts nosacījums. Mums tas tā.

MFA iestatīšana

  1. Uzstādiet saderīga mobilā lietotne
  2. Piekļūstiet AWS konsolē
  3. Manas drošības apliecības -> Piešķirt MFA ierīci
    AWS CLI caur MFA
  4. Virtuālā MFA ierīce
    AWS CLI caur MFA
  5. Sekojiet ekrānā redzamajām instrukcijām
    AWS CLI caur MFA
    AWS CLI caur MFA
  6. Virtuālā ierīce ir gatava
    AWS CLI caur MFA

AWS CLI uzstādīšana

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

Nosaukto profilu iestatīšana

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

  1. Manas drošības apliecības -> Izveidot piekļuves atslēgu
    AWS CLI caur MFA
  2. Kopējiet atslēgu starpliktuvē. Tā būs nepieciešama nākamajā solī.
  3. $ aws configure --profile

AWS CLI caur MFA

  1. Kopējiet virtuālās ierīces ARN
    AWS CLI caur MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Vienreizējā parole ir jāņem no iepriekš konfigurētās mobilās lietotnes.
  3. Komanda izvadīs JSON, un atsevišķās lauciņos jāievada atbilstošās vides mainīgās AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Es nolēmu automatizēt caur ~/.bash_profile
Lai analizē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 '

Izmantošana:

$ aws-login-dev

Ceru, ka šī instrukcija palīdzēs jums izvairīties no ilgas klaiņošanas oficiālajā dokumentācijā 😉

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster