AWS CLI عبر MFA

ستكون الخطوة التالية هي تعليمات إعداد AWS MFA، ثم تثبيت AWS CLI وتكوينه.

لسوء الحظ، استغرق هذا الإجراء الإلزامي نصف يوم عملي. حتى لا يضيع مستخدمو AWS الآخرون غير الآمنين، مثلي، وقتًا ثمينًا في الأمور التافهة، قررت تجميع التعليمات.

حتى بالنسبة لإعداد حساب Sandbox 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

إضافة تعليق