AWS CLI ma o MFA

ʻO ka ʻōlelo aʻe no ka hoʻonohonoho ʻana iā AWS MFA, a laila hoʻokomo a hoʻonohonoho i ka AWS CLI.

ʻO ka mea pōʻino, ʻo kēia kaʻina hana pono i lawe iaʻu i ka hapalua o kaʻu lā hana. No laila e hoʻohana ʻole ʻia nā mea hoʻohana AWS ʻē aʻe, e like me aʻu iho, mai hoʻopau i ka manawa koʻikoʻi ma ka mea liʻiliʻi, ua hoʻoholo wau e hōʻuluʻulu i nā kuhikuhi.

ʻOiai no ka hoʻonohonoho moʻokāki sandbox MFA He koi maʻamau kēia. Penei ke ano o kakou.

Hoʻonohonoho MFA

  1. Kau polokalamu kelepona kūpono
  2. E hele ana AWS console
  3. ʻO kaʻu mau hōʻoia palekana -> E hāʻawi i ka mea MFA
    AWS CLI ma o MFA
  4. Mea MFA ponoʻī
    AWS CLI ma o MFA
  5. E hāhai i nā ʻōkuhi ma ka papakaumaka
    AWS CLI ma o MFA
    AWS CLI ma o MFA
  6. Ua mākaukau ka polokalamu uila
    AWS CLI ma o MFA

Ke hoʻokomo nei i ka AWS CLI

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

Hoʻonohonoho i kahi ʻaoʻao inoa

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

  1. ʻO kaʻu mau hōʻoia palekana -> E hana i ke kī komo
    AWS CLI ma o MFA
  2. E kope i ke kī i kāu papa paʻi. Pono ʻoe iā ia ma ka pae aʻe
  3. $ aws configure --profile <your profile name>

AWS CLI ma o MFA

  1. E kope i ka mea virtual ARN
    AWS CLI ma o MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Pono e lawe ʻia ka ʻōlelo huna hoʻokahi mai ka polokalamu kelepona i hoʻonohonoho mua ʻia.
  3. Na ke kauoha e hoʻopuka iā JSON, pono e hoʻololi ʻia nā kahua pākahi i loko o nā ʻano like ʻole AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Ua hoʻoholo wau e hoʻokaʻawale ~/.bash_profile
No ka hoʻopau ʻana iā JSON, pono kēia palapala 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 '

Hoʻohana:

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

Manaʻo wau e kōkua kēia ʻōlelo aʻoaʻo iā ʻoe e pale i ka hele ʻana i ka lōʻihi ma o ka palapala mana 😉

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka