Edge for Private Cloud v4.18.01
عند استخدام SAML مع Edge API، تُعرف العملية التي تستخدمها للحصول على أذونات الوصول وعلامات إعادة التنشيط في OAuth2 من تأكيد SAML باسم مسار رمز المرور. باستخدام مسار رمز المرور، يمكنك استخدام متصفّح للحصول على رمز مرور صالح لمرة واحدة، ويمكنك بعد ذلك استخدامه للحصول على الرموز المميّزة لبروتوكول OAuth2.
ومع ذلك، قد تتيح بيئة التطوير التشغيل الآلي لمهام التطوير الشائعة، مثل التشغيل الآلي للاختبار أو مسار التكامل/النشر المستمر (CI/CD). لتنفيذ هذه المهام تلقائيًا عند تفعيل SAML، تحتاج إلى طريقة للحصول على الرموز المميّزة لبروتوكول OAuth2 وإعادة تحميلها بدون اضطرارك إلى نسخ رمز مرور أو لصقه من متصفّح.
يتيح Edge إنشاء الرموز المميّزة بشكل آلي من خلال استخدام مستخدمي الآلة. يمكن لمستخدم الآلة الحصول على الرموز المميّزة لبروتوكول OAuth2 بدون الحاجة إلى تحديد رمز مرور. وهذا يعني أنّه يمكنك برمجة عملية الحصول على الرموز المميّزة لبروتوكول OAuth2 وتجديدها بالكامل باستخدام Edge management API.
إنشاء مستخدم جهاز
استخدِم الأداة apigee-ssoadminapi.sh لإنشاء مستخدم جهاز لمؤسّسة تستخدم لغة SAML. اطّلِع على استخدام apigee-ssoadminapi.sh لمعرفة المزيد. يمكنك إنشاء مستخدم جهاز واحد يستخدمه كل مؤسساتك، أو إنشاء مستخدم جهاز منفصل لكل مؤسسة.
يتم إنشاء مستخدم الجهاز وتخزينه في قاعدة بيانات Edge، وليس في موفِّر هوية SAML. وبالتالي، لست مسؤولاً عن صيانة حساب مستخدم الجهاز باستخدام واجهة برمجة التطبيقات Edge Ui وEdge management API.
عند إنشاء حساب مستخدم الجهاز، عليك تحديد عنوان بريد إلكتروني وكلمة مرور. بعد إنشاء مستخدم الجهاز، يمكنك إسناده إلى مؤسسة واحدة أو أكثر.
لإنشاء مستخدم آلة:
- استخدِم الأمر 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. إذا كان تثبيت التطبيق لا يستخدم هذه الإعدادات التلقائية، حدِّدها حسب الاقتضاء.
- سجِّل الدخول إلى واجهة مستخدم Edge وأضِف عنوان البريد الإلكتروني لمستخدم الجهاز إلى مؤسستك، ثم منح مستخدم الجهاز الدور اللازم. اطّلِع على إضافة مستخدمين موحّدين للحصول على المزيد من المعلومات.
الحصول على الرمز المميّز لمستخدم الجهاز وإعادة تحميله
استخدِم Edge API للحصول على الرموز المميّزة لبروتوكول OAuth2 وإعادة تحميلها من خلال تمرير بيانات اعتماد مستخدم الجهاز بدلاً من رمز المرور.
للحصول على رموز OAuth2 لمستخدم الجهاز:
- استخدِم طلب البيانات التالي من واجهة برمجة التطبيقات لإنشاء رمزَي الوصول وإعادة التحميل الأوّلَين:
> 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 '
تُطبع المكالمة رمزَي الدخول المميّز وإعادة التحميل على الشاشة. احفظ الرموز المميّزة لاستخدامها لاحقًا. - نقْل الرمز المميّز للوصول إلى طلب بيانات من واجهة برمجة التطبيقات لإدارة Edge كعنوان Bearer:
> curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName
حيث يكون orgName هو اسم المؤسسة التي تحتوي على مستخدم الجهاز. - لإعادة تحميل رمز الوصول لاحقًا، استخدِم الطلب التالي الذي يتضمّن رمز إعادة التحميل:
> 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 management API
يمكنك إنشاء مستخدم آلة باستخدام واجهة برمجة تطبيقات إدارة Edge بدلاً من استخدام أداة apigee-ssoadminapi.sh. ل إنشاء حساب مستخدم آلة:
- استخدِم الأمر 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 في ملف الإعدادات.
يعرض هذا الأمر رمزًا مميّزًا تحتاج إليه لإجراء المكالمة التالية. - استخدِم الأمر 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"
ستحتاج إلى كلمة مرور مستخدم الجهاز في الخطوات اللاحقة. - سجِّل الدخول إلى واجهة مستخدم Edge وأضِف عنوان البريد الإلكتروني لمستخدم الجهاز إلى مؤسستك، ثم منح مستخدم الجهاز الدور اللازم. اطّلِع على إضافة مستخدمين موحّدين للحصول على المزيد من المعلومات.