AWS CLI qua MFA

Tiếp theo sẽ là hướng dẫn thiết lập AWS MFA, sau đó cài đặt và định cấu hình AWS CLI.

Thật không may, thủ tục bắt buộc này đã khiến tôi mất nửa ngày làm việc. Để những người dùng AWS không an toàn khác 😉, giống như tôi, không lãng phí thời gian quý báu vào những việc tầm thường, tôi quyết định biên soạn hướng dẫn.

Ngay cả đối với cài đặt tài khoản sandbox MFA Đây thường là một yêu cầu bắt buộc. Đây là cách nó xảy ra với chúng tôi.

Thiết lập MFA

  1. Tải về ứng dụng di động tương thích
  2. Đi đến Bảng điều khiển AWS
  3. Thông tin xác thực bảo mật của tôi -> Chỉ định thiết bị MFA
    AWS CLI qua MFA
  4. Thiết bị MFA ảo
    AWS CLI qua MFA
  5. Làm theo hướng dẫn trên màn hình
    AWS CLI qua MFA
    AWS CLI qua MFA
  6. Thiết bị ảo đã sẵn sàng
    AWS CLI qua MFA

Cài đặt AWS CLI

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

Thiết lập hồ sơ được đặt tên

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

  1. Thông tin xác thực bảo mật của tôi -> Tạo khóa truy cập
    AWS CLI qua MFA
  2. Sao chép khóa vào khay nhớ tạm của bạn. Bạn sẽ cần nó trong bước tiếp theo
  3. $ aws configure --profile <your profile name>

AWS CLI qua MFA

  1. Sao chép ARN thiết bị ảo
    AWS CLI qua MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Mật khẩu một lần phải được lấy từ ứng dụng di động được định cấu hình trước đó.
  3. Lệnh sẽ xuất ra JSON, các trường riêng lẻ phải được thay thế bằng các biến môi trường tương ứng AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Tôi quyết định tự động hóa thông qua ~/.bash_profile
Để phân tích JSON, tập lệnh này yêu cầu 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 '

Sử dụng:

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

Tôi hy vọng hướng dẫn này sẽ giúp bạn tránh phải lang thang dài dòng trong tài liệu chính thức 😉

Nguồn: www.habr.com

Thêm một lời nhận xét