AWS CLI از طریق MFA

در ادامه دستورالعمل هایی برای راه اندازی AWS MFA و سپس نصب و پیکربندی AWS CLI ارائه می شود.

متأسفانه این روش اجباری نصف روز کاری من را گرفت. برای اینکه سایر کاربران ناامن AWS مانند خودم وقت گرانبها را برای چیزهای بی اهمیت تلف نکنند، تصمیم گرفتم دستورالعمل ها را جمع آوری کنم.

حتی برای تنظیم اکانت sandbox MFA این معمولا یک نیاز اجباری است. با ما اینگونه است.

راه اندازی 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 <одноразовый пароль>

امیدوارم این دستورالعمل به شما کمک کند از سرگردانی طولانی در اسناد رسمی جلوگیری کنید

منبع: www.habr.com

اضافه کردن نظر