المقدمة
يصف هذا المستند كيفية تكوين سياق Cisco Identity Service Engine 3.3 PXgrid باستخدام واجهة برمجة التطبيقات المفتوحة.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- Cisco Identity Service Engine (ISE) 3.3
- واجهة برمجة تطبيقات REST المتقدمة
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- ISE 3.3 من Cisco
- عميل واجهة برمجة التطبيقات Ennia REST API
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
حل سياق PxGrid-In من خلال واجهات برمجة تطبيقات REST. وذلك لأن نموذج Context-In Pubsub له بعض القيود فيما يتعلق باستخدام سمات مخصصة في نهج التفويض والتنميط.
السمات المخصصة هي سمات معرفة من قبل المستخدم لا تأتي كبيانات نقطة نهاية من خلال إختبارات الشبكة العادية. قبل ISE 3.3، كانت هناك طريقتان بشكل رئيسي لإدخال قيم سمة مخصصة كبيانات نقطة نهاية.
- موضوع الأصل pxGrid Context-In، حيث يعمل ISE كمستهلك ويستهلك بيانات نقاط النهاية التي يتم نشرها بواسطة منتج خارجي تابع لجهة خارجية.
- إنشاء /تحديث واجهات برمجة تطبيقات نقاط النهاية للخدمات الممتدة (ERS).
لكلا القناتين قيود على إستخدام سمات مخصصة في نهج التحليل والتفويض.
الخطوات الأولية
تمكين واجهة برمجة التطبيقات المفتوحة على ISE
يتم تعطيل واجهة برمجة التطبيقات المفتوحة بشكل افتراضي على ISE. من أجل تمكينها، انتقل إلى Administration > System > API Settings > API Service Settings
. تبديل خيارات واجهة برمجة التطبيقات المفتوحة وانقر على حفظ.
تمكين واجهة برمجة التطبيقات المفتوحة
تمكين السمة المخصصة لتنفيذ إنشاء ملف التعريف على ISE
تم تعطيل السمة المخصصة الخاصة بتنفيذ ملف التعريف بشكل افتراضي على ISE. من أجل تمكينها، انتقل إلى Work Centers > Profiler > Settings > Profiler Settings
. تمكين السمة المخصصة لتنفيذ ملف التعريف. انقر فوق حفظ.
تمكين السمة المخصصة لتنفيذ ملف التعريف
ملاحظة: تشير السمة المخصصة لعلامة فرض ملف التعريف إلى حدوث إجراء إعادة توصيف تلقائي في حالة تعديل أي سمة مخصصة.
واجهة مستخدم Swagger
للوصول إلى جميع تعريفات واجهة برمجة التطبيقات المفتوحة على ISE، انتقل إلى Administration > System > Settings > API Settings
وانقر فوق "لمزيد من المعلومات حول واجهة برمجة تطبيقات ISE Open API، يرجى زيارة:".
عناوين URL للتعريفات المستخدمة في هذا المستند هي:
- سمة مخصصة: https://<ISE-pan-IP>/api/swagger-ui/index.html؟urls.primaryName=CustomAttributes
- نقطة النهاية: https://<ISE-pan-IP>/api/swagger-ui/index.html؟urls.primaryName=نقاط النهاية
واجهة مستخدم Swagger
تكوين السمات المخصصة لنقطة النهاية باستخدام واجهة برمجة تطبيقات مفتوحة
إنشاء سمة مخصصة لنقطة النهاية
لإنشاء سمة مخصصة لنقطة النهاية، من الضروري منحها اسم ونوع.
الأنواع التي يمكن إستخدامها هي:
- السلسلة
- نت
- بولياني
- نطفو
- طويل
- IP
- التاريخ
طريقة |
الاختبار الذاتي لبدء التشغيل (POST) |
URL |
https://<ISE-pan-IP>:443/api/v1/endpoint-custom-attribute |
نوع المصادقة |
أساسي |
بيانات الاعتماد |
إستخدام بيانات اعتماد حساب API المفتوح |
العنوان الرئيسي |
قبول:تطبيق/json المحتوى-النوع:التطبيق/json |
نص الرسالة |
{ "attributeName": "DeviceType", "attributeType": "String" } |
نص الرسالة:
السمة المخصصة لنقطة نهاية النص
المصادقة:
السمة المخصصة لنقطة نهاية المصادقة
العنوان الرئيسي:
السمة المخصصة لنقطة نهاية الرؤوس
الناتج المتوقع:
السمة المخصصة لنقطة نهاية الإخراج المتوقعة
التحقق من إنشاء سمة مخصصة
من ISE، انتقل إلى Administration > Identity Management > Settings > Endpoint Custom Attributes
. تحقق من إنشاء السمة.
واجهة المستخدم الرسومية لسمة نقطة النهاية المخصصة
ملاحظة: يمكن إضافة السمات المخصصة لنقطة النهاية يدويا. من ISE، انتقل إلى Administration > Identity Management > Settings > Endpoint Custom Attributes
. انقر +، ثم أدخل اسم السمة، واختر النوع.
Context-In API لنقطة النهاية الواحدة
نهج ملف التعريف للسمة المخصصة
من ISE، انتقل إلى Work Centers > Profiler > Profiling Policies
. انقر Add
.
أدخِل Name
من سياسة التنميط.
تحت Rules
، انتقل إلى Attributes > Create New Condition > CUSTOMATTRIBUTE
. أختر السمة المخصصة التي تم إنشاؤها، واختر عامل التشغيل، وأدخل القيمة التي سيتم مطابقتها. انقر على إرسال.
في هذا المثال، يتم تعريف نهج تحديد ملفات التعريف DevicTypeA باستخدام CUSTOMATTRIBUTE_DeviceType.
نهج منشئ ملفات التعريف
إنشاء نقطة نهاية
في هذا المثال، نقطة نهاية بعنوان MAC 94:DA:5F:96:74:63
ويتم إنشاء DeviceType المعين إلى A.
طريقة |
الاختبار الذاتي لبدء التشغيل (POST) |
URL |
https://<ISE-pan-IP>:443/API/v1/endpoint |
نوع المصادقة |
أساسي |
بيانات الاعتماد |
إستخدام بيانات اعتماد حساب API المفتوح |
العنوان الرئيسي |
قبول:تطبيق/json المحتوى-النوع:التطبيق/json |
نص الرسالة |
{ "name": "94:DA:5F:96:74:63", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:63", "portalUser": "", "profileId": "", "ipAddress": null, "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false } |
نص الرسالة:
نقطة نهاية النص
المصادقة:
نقطة نهاية المصادقة
العنوان الرئيسي:
نقطة نهاية الرؤوس
الناتج المتوقع:
نقطة نهاية الإخراج المتوقعة
التحقق من إنشاء نقطة النهاية
من ISE، انتقل إلى Context Visibility > Endpoints
. التصفية باستخدام اسم نهج إنشاء ملفات التعريف تحت عمود ملف تعريف نقطة النهاية.
DeviceTypeA لإمكانية رؤية السياق
نقطة نهاية التحديث
من أجل تحديث نقاط النهاية عبر واجهة برمجة التطبيقات المفتوحة، يتطلب مسار عنوان URL قيمة المعلمة. يمكن أن تكون هذه المعلمة ID أو عنوان MAC لنقطة النهاية.
في هذا المثال، سياسة جديدة للتنميط DeviceTypeB
تم تعريفها لتحديث السمة المخصصة DeviceType التي تم تعيينها على B وتم تعيين القيمة على أنها عنوان MAC.
طريقة |
PUT |
URL |
https://<ISE-pan-IP>:443/API/v1/endpoint/{value} |
نوع المصادقة |
أساسي |
بيانات الاعتماد |
إستخدام بيانات اعتماد حساب API المفتوح |
العنوان الرئيسي |
قبول:تطبيق/json المحتوى-النوع:التطبيق/json |
نص الرسالة |
{ "name": "94:DA:5F:96:74:63", "customAttributes": {"DeviceType":"B"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:63", "portalUser": "", "profileId": "", "ipAddress": null, "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false } |
نص الرسالة:
نقطة نهاية تحديث النص
المصادقة:
نقطة نهاية تحديث المصادقة
العنوان الرئيسي:
نقطة نهاية تحديث الرؤوس
الناتج المتوقع:
نقطة نهاية تحديث الإخراج المتوقع
التحقق من تحديث نقطة النهاية
من ISE، انتقل إلى Context Visibility > Endpoints
. التصفية باستخدام اسم نهج تحديد الملفات الذي تم إنشاؤه تحت Endpoint Profile
عمود.
DeviceTypeB لإمكانية رؤية السياق
حجم Context-In API
تكوين نهج التخويل مع مجموعة هوية نقطة النهاية
من ISE، انتقل إلى Policy > Policy Sets > Select a Policy Set > Authorization Policy
. انقر أيقونة التروس في أي من نهج التخويل واختر إدراج.
أدخل اسما للقاعدة وأضف شرطا جديدا لفتح أستوديو الشروط.
إضافة سمة جديدة والانتقال إلى Identity Group > Name > CONTAINS > Select the Endpoint Profile > USE
.
أختر ملف التخصيص كنتيجة للشرط. انقر حفظ.
في هذا المثال، يكون DeviceTypeA هو اسم القاعدة.
مجموعات النهج
تحديث نقطة النهاية في الحجم
لتغيير السمة لنقاط النهاية المختلفة، يلزم إستدعاء API المجمع.
في هذا المثال، لا يحتوي طلب Radius من نقاط نهاية مختلفة على أي سمة مخصصة، ويتم تعيين ملف تعريف نقطة النهاية على غير معروف.
ملف التعريف المعروف عن إمكانية رؤية السياق
طريقة |
PUT |
URL |
https://<ISE-pan-IP>:443/API/v1/endpoint/bulk |
نوع المصادقة |
أساسي |
بيانات الاعتماد |
إستخدام بيانات اعتماد حساب API المفتوح |
العنوان الرئيسي |
قبول:تطبيق/json المحتوى-النوع:التطبيق/json |
نص الرسالة |
[ { "name": "94:DA:5F:96:74:61", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:61", "portalUser": "", "profileId": "", "ipAddress": "94:DA:5F:96:74:61", "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false }, { "name": "94:DA:5F:96:74:62", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:62", "portalUser": "", "profileId": "", "ipAddress": "10.218.185.96", "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false },....... ] |
نص الرسالة:
مجمع نقطة نهاية الجسم
المصادقة:
مجمع نقطة نهاية المصادقة
العنوان الرئيسي:
مجمع نقطة نهاية الرؤوس
الناتج المتوقع:
حجم نقطة نهاية الإخراج المتوقع
التحقق من التحديث المجمع لنقطة النهاية
من ISE، انتقل إلى Context Visibility > Endpoints
. التصفية باستخدام اسم نهج إنشاء ملفات التعريف تحت عمود ملف تعريف نقطة النهاية.
ملف تعريف نقطة نهاية DevcieTypeA لإمكانية رؤية السياق
لنقطة النهاية، لاستخدام نهج التخويل الصحيح DeviceTypeA، يجب أن تتم إعادة مصادقة نقطة النهاية.
نهج تخويل DevcieTypeA لإمكانية رؤية السياق
استكشاف الأخطاء وإصلاحها
يوفر هذا القسم معلومات يمكنك إستخدامها لاستكشاف أخطاء التكوين وإصلاحها.
من ISE، انتقل إلى Operation > Troubleshoot > Debug Wizard > Debug Log Configuration
. أختر عقدة الإدارة الأساسية (PAN) وانقر فوقEdit.
قم بتصفية خدمة واجهة برمجة التطبيقات Component NameBy واختر مستوى السجل المطلوب. انقر فوق حفظ.
واجهة برمجة تطبيقات مفتوحة لتكوين مستوى تصحيح الأخطاء
- على واجهة سطر أوامر (CLI) ISE PAN، يتم العثور على السجلات في:
admin#show logging application api-service.log
- على واجهة المستخدم الرسومية (GUI) ISE انتقل إلى
Operations > Troubleshoot > Download Logs > Select ISE PAN > Debug log > Debug Log Type > Application Logs
. تنزيل ملفات zip ل api-service.log
.
- رموز إستجابة واجهة برمجة التطبيقات (API) ومعانيها المحتملة:
- 200 (موافق): يشير إلى أن واجهة برمجة التطبيقات المفتوحة نفذت الإجراء المطلوب بنجاح.
- 201 (إنشاء): يشير إلى إنشاء المورد ونجاح الطلب.
- 400 (طلب غير صحيح): يتعذر على الخادم معالجة الطلب. التعرف على أخطاء العميل بسبب بناء جملة طلب غير صحيح، معلمات غير صحيحة، وما إلى ذلك. اقرأ تفاصيل الرسالة إذا كانت متوفرة.
- 401 (غير مصرح به): يشير ذلك إلى أنه تم إتخاذ الإجراء باستخدام بيانات اعتماد غير صحيحة أو بدون بيانات اعتماد، أو أن الحساب غير مصرح له بتنفيذ هذا الإجراء.
- 403 (ممنوع): يشير ذلك إلى أن الخادم قادر على فهم الطلب ولكن غير مصرح به.
- 404 (غير موجود): يشير ذلك إلى عدم قدرة الخادم على العثور على المورد المطلوب.
- 500 (خطأ في الخادم الداخلي): يشير إلى وجود مشكلة في جانب الخادم. يمكن أن تساعد السجلات الموجودة على ISE في فهم السبب.