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

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

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

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

تتيح Edge عملية إنشاء الرموز المميّزة آليًا من خلال مستخدمي الأجهزة. يمكن لمستخدم الجهاز الحصول على رموز OAuth2 المميزة بدون الحاجة إلى تحديد رمز مرور. هذا يعني أنه يمكنك أتمتة عملية الحصول على رموز OAuth2 المميزة وتحديثها باستخدام واجهة برمجة تطبيقات إدارة Edge.

إنشاء مستخدم جهاز

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

يتم إنشاء حساب مستخدم الجهاز وتخزينه في مخزن بيانات Edge، وليس في هوية SAML. المستخدم. لذلك، لا تكون مسئولاً عن الحفاظ على مستخدم الجهاز عن طريق استخدام واجهة برمجة التطبيقات لإدارة واجهة المستخدم و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) في ملف الضبط المُستخدَم لضبط وحدة تسجيل الدخول المُوحَّد (SSO) على Edge. الإعداد الافتراضي هو ssoadmin
    • SSO_ADMIN_SECRET هي كلمة مرور المشرف على النحو المحدّد من قِبل السمة SSO_ADMIN_SECRET في ملف الإعداد.
    • في هذا المثال، يمكنك حذف قيم --port و --ssl لأن الوحدة apigee-sso تستخدم القيمة التلقائية 9099 لـ --port وhttp لـ --ssl. إذا كان لا يستخدم تثبيت هذه الإعدادات الافتراضية، حددها كما ينبغي.

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

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

استخدم واجهة برمجة تطبيقات Edge للحصول على رموز 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 بدلاً من أداة "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 في config.

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

  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 وأضف البريد الإلكتروني لمستخدم الجهاز إلى مؤسساتك وقم بتعيين لمستخدم الجهاز إلى الدور اللازم. راجِع إضافة مستخدمين عالميين لمزيد من المعلومات.