通过 MFA 的 AWS CLI

接下来将介绍如何设置 AWS MFA,然后安装和配置 AWS CLI。

不幸的是,这个强制性程序花了我一半的工作日。为了让其他不安全的 AWS 用户😉,比如我自己,不要在琐事上浪费宝贵的时间,我决定编写说明。

即使是沙盒帐户设置 外交部 这通常是强制性要求。我们就是这样。

设置 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 <одноразовый пароль>

我希望这篇说明能够帮助您避免在官方文档中长时间徘徊😉

来源: habr.com

添加评论