تنفيذ المهام تلقائيًا لموفِّري الهوية الخارجيين

عند استخدام IDP خارجي مع Edge API، تُعرف العملية التي تستخدمها للحصول على رموز OAuth2 المميزة للوصول وإعادة التحميل من تفاعل موفِّر الهوية باسم مسار رمز المرور. من خلال مسار رمز المرور، يمكنك استخدام متصفّح للحصول على رمز مرور صالح لمرة واحدة، ثم استخدامه للحصول على رموز OAuth2 المميّزة.

ومع ذلك، قد تتيح بيئة التطوير التشغيل الآلي لمهام التطوير الشائعة، مثل التشغيل الآلي للاختبار أو CI/CD. لأتمتة هذه المهام عند تفعيل موفِّر هوية خارجي، تحتاج إلى طريقة للحصول على رموز OAuth2 المميزة وإعادة تحميلها بدون الحاجة إلى نسخ رمز مرور من متصفّح ولصقه.

يتيح Edge إنشاء الرموز المميّزة تلقائيًا من خلال استخدام حسابات المستخدمين الآلية داخل المؤسسات التي تم تفعيل موفِّر الهوية (IDP) فيها. يمكن لمستخدم الجهاز الحصول على رموز OAuth2 المميّزة بدون الحاجة إلى تحديد رمز مرور. That means you can completely automate the process of obtaining and refreshing OAuth2 tokens by using the Edge management API.

هناك طريقتان لإنشاء مستخدم آلي لمؤسسة تستخدم موفّر هوية:

يتم وصف كل طريقة من هذه الطرق في الأقسام التالية.

لا يمكنك إنشاء مستخدم آلي للمؤسسات التي لم تفعّل موفِّر هوية خارجيًا.

إنشاء مستخدم آلي باستخدام apigee-ssoadminapi.sh

استخدِم الأداة المساعدة apigee-ssoadminapi.sh لإنشاء مستخدم آلي داخل مؤسسة تم تفعيل موفِّر الهوية (IDP) فيها. يُرجى الاطّلاع على استخدام apigee-ssoadminapi.sh لمزيد من المعلومات. يمكنك إنشاء مستخدم جهاز واحد تستخدمه جميع مؤسساتك، أو إنشاء مستخدم جهاز منفصل لكل مؤسسة.

يتم إنشاء مستخدم الجهاز وتخزينه في مخزن بيانات Edge، وليس في موفِّر الهوية. لذلك، لست مسؤولاً عن صيانة مستخدم الجهاز باستخدام واجهة مستخدم Edge وواجهة برمجة تطبيقات إدارة Edge.

عند إنشاء مستخدم الجهاز، يجب تحديد عنوان بريد إلكتروني وكلمة مرور. بعد إنشاء مستخدم الجهاز، يمكنك تعيينه لمؤسسة واحدة أو أكثر.

لإنشاء مستخدم آلي باستخدام apigee-ssoadminapi.sh:

  1. استخدِم أمر apigee-ssoadminapi.sh التالي لإنشاء مستخدم الجهاز:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    المكان:

    • ‫SSO_ADMIN_NAME هو اسم مستخدم المشرف الذي تحدّده السمة SSO_ADMIN_NAME في ملف الإعداد المستخدَم لضبط وحدة الدخول الموحّد في Apigee. القيمة التلقائية هي ssoadmin.
    • ‫SSO_ADMIN_SECRET هي كلمة مرور المشرف كما هو محدّد في السمة SSO_ADMIN_SECRET في ملف الإعداد.

      في هذا المثال، يمكنك حذف قيمتَي --port و--ssl لأنّ وحدة apigee-sso تستخدم القيم التلقائية، وهي 9099 لـ --port وhttp لـ --ssl. إذا لم تكن عملية التثبيت تستخدم هذه الإعدادات التلقائية، حدِّدها حسب الاقتضاء.

  2. سجِّل الدخول إلى واجهة مستخدم Edge وأضِف عنوان البريد الإلكتروني الخاص بالمستخدم الآلي إلى مؤسساتك، ثم امنح المستخدم الآلي الدور اللازم. لمزيد من المعلومات، يُرجى الاطّلاع على إضافة مستخدمين عالميين.

إنشاء مستخدم آلي باستخدام واجهة برمجة التطبيقات لإدارة Edge

يمكنك إنشاء مستخدم آلي باستخدام واجهة برمجة تطبيقات إدارة Edge بدلاً من استخدام الأداة المساعدة apigee-ssoadminapi.sh.

لإنشاء مستخدم آلي باستخدام Management API:

  1. استخدِم أمر curl التالي للحصول على رمز مميّز للمستخدم ssoadmin، وهو اسم المستخدم لحساب المشرف في apigee-sso:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    حيث SSO_ADMIN_SECRET هي كلمة مرور المشرف التي حدّدتها عند تثبيت apigee-sso كما هو محدّد في السمة SSO_ADMIN_SECRET في ملف الإعداد.

    يعرض هذا الأمر رمزًا مميزًا تحتاج إليه لإجراء الطلب التالي.

  2. استخدِم أمر curl التالي لإنشاء مستخدم الجهاز، مع تمرير الرمز المميّز الذي تلقّيته في الخطوة السابقة:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    ستحتاج إلى كلمة مرور مستخدم الجهاز في الخطوات اللاحقة.

  3. سجِّل الدخول إلى واجهة مستخدم Edge.
  4. أضِف عنوان البريد الإلكتروني الخاص بالمستخدم الآلي إلى مؤسساتك وأسنِد الدور اللازم إلى المستخدم الآلي. يُرجى الاطّلاع على إضافة مستخدمين عالميين لمزيد من المعلومات.

الحصول على رموز مميّزة لمستخدمي الأجهزة وإعادة تحميلها

استخدِم Edge API للحصول على رموز OAuth2 المميّزة وإعادة تحميلها من خلال تمرير بيانات اعتماد المستخدم الآلي بدلاً من رمز المرور.

للحصول على رموز OAuth2 المميزة لمستخدم الجهاز:

  1. استخدِم طلب بيانات من واجهة برمجة التطبيقات التالي لإنشاء رموز الدخول والرمز المميز لإعادة التحميل الأولية:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://Edge_SSO_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    احفظ الرموز المميزة لاستخدامها لاحقًا.

  2. مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة التطبيقات لإدارة Edge كعنوان Bearer، كما هو موضّح في المثال التالي:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    حيث org_name هو اسم المؤسسة التي تحتوي على مستخدم الجهاز.

  3. لإعادة تحميل رمز الدخول لاحقًا، استخدِم الطلب التالي الذي يتضمّن الرمز المميز لإعادة التحميل:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'