استخدام SAML مع مهام مُبرمَجة

الإصدار 4.18.01 من Edge for Private Cloud

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

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

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

إنشاء مستخدم آلي

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

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

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

لإنشاء مستخدم آلي، اتّبِع الخطوات التالية:

  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 في ملف الإعداد المستخدَم لضبط وحدة الدخول المُوحَّد في Edge. الإعداد التلقائي هو ssoadmin.
    • SSO_ADMIN_SECRET هي كلمة مرور المشرف كما هو محدّد في السمة SSO_ADMIN_SECRET في ملف الإعداد.

      في هذا المثال، يمكنك حذف قيم --port و--ssl لأنّ وحدة apigee-sso تستخدم القيم التلقائية، وهي 9099 لـ --port وhttp لـ --ssl. إذا لم تكن عملية التثبيت تستخدم هذه الإعدادات التلقائية، حدِّدها حسب الاقتضاء.
  2. سجِّل الدخول إلى واجهة مستخدم Edge وأضِف عنوان البريد الإلكتروني الخاص بالمستخدم الآلي إلى مؤسساتك، ثم امنح المستخدم الآلي الدور اللازم. يُرجى الاطّلاع على إضافة مستخدمين عالميين لمزيد من المعلومات.

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

استخدِم 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/orgName

    حيث orgName هو اسم المؤسسة التي تحتوي على مستخدم الجهاز.
  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'

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

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

  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 وأضِف عنوان البريد الإلكتروني الخاص بالمستخدم الآلي إلى مؤسساتك، ثم امنح المستخدم الآلي الدور اللازم. يُرجى الاطّلاع على إضافة مستخدمين عالميين لمزيد من المعلومات.