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

الإصدار 4.18.05 من Edge الخاص بخدمة 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 Ui و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 للحصول على رموز 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 على أنه عنوان الحامل:
    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 في ملف الإعداد.

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

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