AWS CLI melalui MFA

Berikutnya adalah petunjuk untuk menyiapkan AWS MFA, lalu menginstal dan mengonfigurasi AWS CLI.

Sayangnya, prosedur wajib ini menyita setengah hari kerja saya. Agar pengguna AWS lain yang merasa tidak aman 😉, seperti saya, tidak membuang waktu berharga untuk hal-hal sepele, saya memutuskan untuk menyusun instruksi.

Bahkan untuk pengaturan akun sandbox MFA Ini biasanya merupakan persyaratan wajib. Begitulah yang terjadi pada kita.

Menyiapkan MFA

  1. Mengatur aplikasi seluler yang kompatibel
  2. Pergi ke Konsol AWS
  3. Kredensial Keamanan Saya -> Tetapkan Perangkat MFA
    AWS CLI melalui MFA
  4. Perangkat MFA Virtual
    AWS CLI melalui MFA
  5. Ikuti petunjuk di layar
    AWS CLI melalui MFA
    AWS CLI melalui MFA
  6. Perangkat virtual sudah siap
    AWS CLI melalui MFA

Menginstal AWS CLI

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

Menyiapkan profil bernama

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

  1. Kredensial Keamanan Saya -> Buat kunci akses
    AWS CLI melalui MFA
  2. Salin kunci ke clipboard Anda. Anda akan membutuhkannya pada langkah berikutnya
  3. $ aws configure --profile <your profile name>

AWS CLI melalui MFA

  1. Salin ARN perangkat virtual
    AWS CLI melalui MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Kata sandi satu kali harus diambil dari aplikasi seluler yang dikonfigurasi sebelumnya.
  3. Perintah tersebut akan menampilkan JSON, yang masing-masing bidangnya harus diganti ke dalam variabel lingkungan yang sesuai AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Saya memutuskan untuk mengotomatiskannya ~/.bash_profile
Untuk mengurai JSON, skrip ini memerlukan 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 <одноразовый пароль>

Saya harap instruksi ini akan membantu Anda menghindari pengembaraan yang panjang melalui dokumentasi resmi 😉

Sumber: www.habr.com

Tambah komentar