AWS CLI via MFA

Følgende er en vejledning til opsætning af AWS MFA og efterfølgende installation og konfiguration af AWS CLI.

Desværre tog denne obligatoriske procedure mig halvdelen af arbejdsdagen. For ikke-sikre AWS-brugere som mig selv, så de ikke spilder værdifuld tid på det basale, besluttede jeg at lave en vejledning.

Selv for en sandbox-konto er opsætning MFA – dette er typisk et obligatorisk krav. Det er sådan for os.

Opsætning af MFA

  1. Installer en kompatibel mobilapplikation
  2. Gå til AWS-konsollen
  3. Mine sikkerhedsoplysninger -> Tildel MFA-enhed
    AWS CLI via MFA
  4. Virtuel MFA-enhed
    AWS CLI via MFA
  5. Følg instruktionerne på skærmen
    AWS CLI via MFA
    AWS CLI via MFA
  6. Det virtuelle apparat er klar
    AWS CLI via MFA

Installation af AWS CLI

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

Opsætning af navngivet profil

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

  1. Mine sikkerhedsoplysninger -> Opret adgangsnøgle
    AWS CLI via MFA
  2. Kopier nøglen til udklipsholderen. Den vil blive brugt i næste trin
  3. $ aws configure --profile

AWS CLI via MFA

  1. Kopier ARN for den virtuelle enhed
    AWS CLI via MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Engangskoden skal tages fra den tidligere opsatte mobilapplikation.
  3. Kommandoen vil returnere JSON, hvor de separate felter skal indsættes i de relevante miljøvariabler AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Jeg har besluttet at automatisere via ~/ .bash_profile
For at analysere JSON kræver dette script 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 '

Brug:

$ aws-login-dev

Jeg håber, at denne vejledning hjælper dig med at undgå unødvendige søgninger i den officielle dokumentation 😉

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster