المحتويات

المقدمة

الخلفية

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

التكوين

الرسم التخطيطي للشبكة

التكوين على ISE

أمثلة بايثون

إسترداد قائمة كافة العقد التي يتم نشرها في نظام المجموعة

إسترداد تفاصيل العقدة التي تم نشرها

استكشاف الأخطاء وإصلاحها

المقدمة

يصف هذا المستند إجراء إستخدام OpenAPI لإدارة نشر محرك خدمات الهوية (ISE) من Cisco.

الخلفية

في شبكات المؤسسات الحديثة، أصبح الأمان والإدارة على نحو متزايد معقدين وحاسمين. لمعالجة هذه التحديات، بدءا من Cisco ISE 3.1 وما بعده، تتوفر واجهات برمجة التطبيقات (API) الأحدث في تنسيق OpenAPI، الذي يوفر التحكم القوي في الوصول إلى الشبكة وإمكانات إدارة السياسة. أصبح المسؤول الآن قادرا على التحقق من نشر ISE بشكل أكثر فعالية من خلال OpenAPI، واتخاذ إجراء بشكل استباقي بدلا من انتظار تقارير المشاكل من المستخدمين النهائيين.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- محرك خدمات الهوية من Cisco (ISE)

- واجهة برمجة تطبيقات REST

- بايثون

المكونات المستخدمة

- ISE 3.3

- بايثون 3.10.0

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

التكوين

الرسم التخطيطي للشبكة

المخطط

التكوين على ISE

الخطوة 1: إضافة حساب مسؤول واجهة برمجة تطبيقات مفتوحة

إضافة مسؤول واجهة برمجة تطبيقات، انتقل إلى الإدارة > النظام > وصول المسؤول > المسؤولون > مستخدمون الإداريون > إضافة.

مسؤول API

الخطوة 2: تمكين واجهة برمجة التطبيقات المفتوحة على ISE

يتم تعطيل واجهة برمجة التطبيقات المفتوحة بشكل افتراضي على ISE. لتمكين هذا الخيار، انتقل إلى إدارة > نظام > إعدادات > إعدادات واجهة برمجة التطبيقات (API) > إعدادات خدمة API. تبديل خيارات واجهة برمجة التطبيقات المفتوحة. انقر فوق حفظ.

تمكين OpenAPI

الخطوة 3: أستكشاف واجهة برمجة التطبيقات المفتوحة ISE OPEN API

انتقل إلى إدارة > نظام > إعدادات > إعدادات واجهة برمجة التطبيقات > نظرة عامة. انقر فوق فتح إرتباط زيارة واجهة برمجة التطبيقات.

زيارة OpenAPI

أمثلة بايثون

إسترداد قائمة كافة العقد التي يتم نشرها في نظام المجموعة

يسرد واجهة برمجة التطبيقات (API) جميع العقد التي يتم نشرها في نظام المجموعة.

الخطوة 1: المعلومات المطلوبة لاستدعاء واجهة برمجة تطبيقات (API).

طريقة

إحضار

URL

https://<ISE-pan-IP>/API/V1/deployment/node

بيانات الاعتماد

إستخدام بيانات اعتماد حساب API المفتوح

العنوان الرئيسي

قبول: التطبيق/json

نوع المحتوى: التطبيق/json

الخطوة 2: حدد موقع URL الذي يتم إستخدامه لاسترداد معلومات النشر.

API URI

الخطوة 3: هنا مثال على رمز Python. انسخ المحتوى ولصقه. استبدلت ال ISE ip، username، كلمة. حفظ كملف بايثون لتنفيذه.

تأكد من الاتصال الجيد بين ISE والجهاز الذي يشغل مثال رمز python.

from requests.auth import HTTPBasicAuth

import requests

requests.packages.urllib3.disable_warnings()

if __name__ == "__main__":

url = "https://10.106.33.92/api/v1/deployment/node"

headers = {"Accept": "application/json", "Content-Type": "application/json"}

basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123")

response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False)

print("Return Code:")

print(response.status_code)

print("Expected Outputs:")

print(response.json())

وفيما يلي مثال على النواتج المتوقعة.

Return Code:

200

Expected Outputs:

{'response': [{'hostname': 'ISE-BGL-CFME01-PAN', 'fqdn': 'ISE-BGL-CFME01-PAN.cisco.com', 'ipAddress': '192.168.20.240', 'roles': ['PrimaryAdmin'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-BGL-CFME02-MNT', 'fqdn': 'ISE-BGL-CFME02-MNT.cisco.com', 'ipAddress': '192.168.21.240', 'roles': ['PrimaryMonitoring'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-DLC-CFME01-PSN', 'fqdn': 'ISE-DLC-CFME01-PSN.cisco.com', 'ipAddress': '192.168.40.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-DLC-CFME02-PSN', 'fqdn': 'ISE-DLC-CFME02-PSN.cisco.com', 'ipAddress': '192.168.41.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-RTP-CFME01-PAN', 'fqdn': 'ISE-RTP-CFME01-PAN.cisco.com', 'ipAddress': '192.168.10.240', 'roles': ['SecondaryAdmin'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-RTP-CFME02-MNT', 'fqdn': 'ISE-RTP-CFME02-MNT.cisco.com', 'ipAddress': '192.168.11.240', 'roles': ['SecondaryMonitoring'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}], 'version': '1.0.0'}

إسترداد تفاصيل العقدة التي تم نشرها

يقوم واجهة برمجة التطبيقات (API) هذه باسترداد المعلومات التفصيلية لعقدة ISE المحددة.

الخطوة 1: المعلومات المطلوبة لاستدعاء واجهة برمجة تطبيقات (API).

طريقة

إحضار

URL

https://<ISE-pan-IP>/API/v1/deployment/node/<ISE-Node-Hostname>

بيانات الاعتماد

إستخدام بيانات اعتماد حساب API المفتوح

العنوان الرئيسي

قبول: التطبيق/json

نوع المحتوى: التطبيق/json

الخطوة 2: حدد موقع عنوان URL الذي يتم إستخدامه لاسترداد معلومات عقدة ISE المحددة.

API URI

الخطوة 3. هنا مثال على شيفرة بايثون. انسخ المحتوى ولصقه. استبدلت ال ISE ip، username، كلمة. حفظ كملف بايثون لتنفيذه.

تأكد من الاتصال الجيد بين ISE والجهاز الذي يشغل مثال رمز python.

from requests.auth import HTTPBasicAuth

import requests

requests.packages.urllib3.disable_warnings()

if __name__ == "__main__":

url = "https://10.106.33.92/api/v1/deployment/node/ISE-DLC-CFME02-PSN"

headers = {"Accept": "application/json", "Content-Type": "application/json"}

basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123")

response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False)

print("Return Code:")

print(response.status_code)

print("Expected Outputs:")

print(response.json())

وفيما يلي مثال على النواتج المتوقعة.

Return Code:

200

Expected Outputs:

{'response': {'hostname': 'ISE-DLC-CFME02-PSN', 'fqdn': 'ISE-DLC-CFME02-PSN.cisco.com', 'ipAddress': '192.168.41.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, 'version': '1.0.0'}

استكشاف الأخطاء وإصلاحها

لاستكشاف أخطاء الأخطاء وإصلاحها المتعلقة بواجهات برمجة التطبيقات المفتوحة، قم بتعيين Log Level ل TaskServiceClient إلى DEBUGin Debug Log ConfigurationWindow.

لتمكين تصحيح الأخطاء، انتقل إلى العمليات > أستكشاف الأخطاء وإصلاحها > معالج تصحيح الأخطاء > تكوين سجل الأخطاء > عقدة ISE > قاعدة بيانات<</aService.

تصحيح أخطاء خدمة API

لتنزيل سجلات تصحيح الأخطاء، انتقل إلى العمليات > أستكشاف الأخطاء وإصلاحها > تنزيل السجلات > ISE PAN Node > سجلات تصحيح الأخطاء.

تنزيل سجلات التصحيح