AWS CLI ผ่าน MFA

ถัดไปคือคำแนะนำในการตั้งค่า AWS MFA จากนั้นจึงติดตั้งและกำหนดค่า AWS CLI

น่าเสียดายที่ขั้นตอนบังคับนี้ใช้เวลาครึ่งหนึ่งของวันทำงาน เพื่อให้ผู้ใช้ AWS ที่ไม่ปลอดภัยคนอื่นๆ 😉 เช่นเดียวกับตัวฉันเอง ไม่ต้องเสียเวลาอันมีค่าไปกับเรื่องเล็กๆ น้อยๆ ฉันจึงตัดสินใจรวบรวมคำแนะนำ

แม้กระทั่งการตั้งค่าบัญชีแซนด์บ็อกซ์ ไอ้เวรตะไล โดยปกติจะเป็นข้อกำหนดบังคับ ที่เป็นเช่นนี้กับเรา

การจัดตั้ง MFA

  1. ติดตั้ง แอพมือถือที่รองรับ
  2. ไปที่ คอนโซล AWS
  3. ข้อมูลรับรองความปลอดภัยของฉัน -> กำหนดอุปกรณ์ MFA
    AWS CLI ผ่าน MFA
  4. อุปกรณ์ MFA เสมือน
    AWS CLI ผ่าน MFA
  5. ทำตามคำแนะนำบนหน้าจอ
    AWS CLI ผ่าน MFA
    AWS CLI ผ่าน MFA
  6. อุปกรณ์เสมือนพร้อมแล้ว
    AWS CLI ผ่าน MFA

การติดตั้ง 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. ข้อมูลรับรองความปลอดภัยของฉัน -> สร้างรหัสการเข้าถึง
    AWS CLI ผ่าน MFA
  2. คัดลอกคีย์ไปยังคลิปบอร์ดของคุณ คุณจะต้องใช้มันในขั้นตอนถัดไป
  3. $ aws configure --profile <your profile name>

AWS CLI ผ่าน MFA

  1. คัดลอกอุปกรณ์เสมือน ARN
    AWS CLI ผ่าน MFA
  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 <одноразовый пароль>

ฉันหวังว่าคำแนะนำนี้จะช่วยคุณหลีกเลี่ยงการเดินไปตามเอกสารอย่างเป็นทางการ 😉

ที่มา: will.com

เพิ่มความคิดเห็น