透過 MFA 的 AWS CLI

接下來將介紹如何設定 AWS MFA,然後安裝和設定 AWS CLI。

不幸的是,這個強製程序花了我一半的工作日。 為了讓其他不安全的 AWS 使用者😉,像我自己,不要在瑣事上浪費寶貴的時間,我決定寫說明。

即使是沙盒帳戶設置 MFA 這通常是強制性要求。 我們就是這樣。

設定 MFA

  1. 相容的行動應用程式
  2. 去吧 AWS主機
  3. 我的安全憑證 -> 分配 MFA 設備
    透過 MFA 的 AWS CLI
  4. 虛擬 MFA 設備
    透過 MFA 的 AWS CLI
  5. 按照屏幕上的說明操作
    透過 MFA 的 AWS CLI
    透過 MFA 的 AWS CLI
  6. 虛擬設備已準備就緒
    透過 MFA 的 AWS CLI

安裝 AWS CLI

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

設定命名設定檔

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

  1. 我的安全憑證 -> 建立存取金鑰
    透過 MFA 的 AWS CLI
  2. 將密鑰複製到剪貼簿。 您在下一步中將需要它
  3. $ aws configure --profile <your profile name>

透過 MFA 的 AWS CLI

  1. 複製虛擬設備 ARN
    透過 MFA 的 AWS CLI
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    一次性密碼必須從先前配置的行動應用程式中取得。
  3. 此指令將輸出 JSON,其中的各個欄位必須替換為對應的環境變數 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN

我決定透過自動化 ~/.bash_profile
要解析 JSON,此腳本需要 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 <одноразовый пароль>

我希望這篇說明能幫助您避免在官方文件中長時間徘徊😉

來源: www.habr.com

添加評論