المقدمة
يصف هذا المستند مقدمة تكوين REST API ل Cisco Secure Firewall باستخدام مستكشف واجهة برمجة التطبيقات (API) لمركز إدارة جدار الحماية.
معلومات إضافية
REST API هي واجهة برمجة تطبيقات يمكنها الاتصال استنادا إلى مبادئ RESTful. تتصل واجهات REST API عبر طلبات HTTP وتنفذ عمليات إنشاء (CRUD) وقراءتها وتحديثها وحذفها في أحد الموارد. تتيح التهيئة من خلال واجهة برمجة تطبيقات REST قدرا كبيرا من الإمكانات لأتمتة طريقة تكوين أجهزة جدار الحماية الآمنة وتبسيطها.
والمزايا الرئيسية لاستخدام واجهة برمجة تطبيقات REST هي:
- قابلية التطوير - نظرا لأنه يمكن توسيع العمليات لتشمل العديد من الموارد.
- المرونة - سهولة التنفيذ في بيئات تطوير البرامج المختلفة، مثل معظم واجهات برمجة التطبيقات، فإنها تستخدم بروتوكولات XML و JSON و HTTP.
- الأتمتة - يمكنك تسهيل عمليات التكوين للعديد من الأجهزة في وقت واحد من خلال إجراء تغييرات التكوين في كميات كبيرة، مما يقلل من مهام التكوين المتكررة التي تستهلك وقتا طويلا.
تعتمد واجهة برمجة تطبيقات REST على المصادقة نفسها المستخدمة في FMC/FDM وتستخدم OAUTH2.0. تقوم كل وظيفة في واجهة برمجة تطبيقات REST بتعيين نفس الأذونات في FMC و FDM.
التكوين
التنقل عبر مستكشف واجهة برمجة التطبيقات
يتم تمكين REST API بشكل افتراضي داخل FMC. يمكنك تأكيد تمكينها بالانتقال إلى System > Configuration > REST API Preferences
.
تمكين REST API
تتضمن FMC و FDM واجهة مضمنة تسمى API Explorer، والتي تعد أداة مفيدة لمراجعة إمكانيات ووظائف REST API. بالنسبة لوحدة التحكم في إدارة اللوحة الأساسية (FMC)، يمكن الوصول إلى مستكشف واجهة برمجة التطبيقات (API) باستخدام عنوان URL هذا؛ https://
/api/api-explorer
.
تسجيل الدخول باستخدام بيانات اعتماد واجهة المستخدم الرسومية (GUI) لوحدة التحكم FMC:
تسجيل الدخول باستخدام بيانات اعتماد واجهة المستخدم الرسومية (GUI) ل FMC
بمجرد الوصول إلى مستكشف واجهة برمجة التطبيقات، يتم عرض الصفحة الرئيسية. هنا يمكنك العثور على الجزء العلوي من الشريط والمجالات والتكوين. في أعلى الزاوية اليمنى، يمكنك العثور على معلومات الإصدار بالإضافة إلى الموارد المفيدة:
شريط علوي
بعد ذلك، ابحث عن كل أقسام التكوين، بدءا من المجالات. يؤدي إختيار هذه القائمة المنسدلة إلى عرض جميع مجالات FMC الموجودة.
المجالات
يتم عرض أقسام التكوين والإمكانات بعد ذلك، بما في ذلك الميزات التي تدعمها وحدة التحكم في إدارة اللوحة الأساسية (FMC):
مقاطع التكوين
أخيرا، في أسفل الصفحة، يمكنك العثور على قسم المخططات. هنا يمكنك إلقاء نظرة على بعض التكوينات في JSON للحصول على ميزات إضافية مدعومة يمكنك إستخدامها كمرجع لإنشاء طلبات HTTP الخاصة بك لهذه الميزات:
مخططات
إستخدام مستكشف واجهة برمجة التطبيقات
الآن، بالرجوع إلى أقسام التكوين، انتقل إلى الأجهزة:
تكوين الأجهزة
يدعم REST API ل FMC طرق HTTP التالية. لاحظ أن كل واحد منهم يقوم بعملية كرود:
-
الحصول - قراءة
-
النشر - إنشاء
-
PUT - تحديث/إستبدال
-
حذف - حذف
يصاحب معرف الموارد الموحد (URI) كل طريقة من هذه الطرق مع المسار المقابل لكل كائن:
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords
باختيار إحدى هذه الأساليب، يمكنك التوسيع ورؤية المعلمات المتضمنة في طلب GET HTTP:
- تصفية
- إزاحة
- حد
- أسهبن
- المعرف الفريد العالمي للمجال (UUID)
الحصول على الأجهزة/الأجهزة
ملاحظة: يعد UUID للمجال أمرا بالغ الأهمية عند إنشاء طلبات HTTP نظرا لأن كل كائن لديه معرف فريد تم تعيينه، وهذا مطلوب لتنفيذ العمليات.
UUID لمجال سجلات الأجهزة
انسخ معرف المستخدم للمجال:
e276abec-e0f2-11e3-8169-6d9ed49b625f
بعد ذلك، يمكنك أن ترى قسم الردود، حيث يمكنك العثور على عنوان URL الطلب و الالتفاف مع إستجابة الخادم الافتراضية لهذه الطريقة وبعض أمثلة إستجابة الخادم.
قسم الردود.
أسلوب الحصول على Test FMC API Explorer
الآن أنت جاهز لاختبار وظائف مستكشف واجهة برمجة التطبيقات (API) من خلال النقر Try it out
:
حدد تجربة
بالنسبة لطلب HTTP GET (الخاص بالأجهزة وسجلات الأجهزة) هذا، لا يطلب منك تضمين أي معرف فريد آخر أو معلمات إضافية ويمكنك إختيار Execute:
تحديد تنفيذ
ترجع FMC إستجابة الخادم 200 إذا كان طلب HTTP GET ناجحا وكان نص الاستجابة يحتوي على معلومات الجهاز لجميع الأجهزة المسجلة في FMC.
200 الحصول على خرج الاستجابة.
من هذا الإخراج، لاحظ أنه يوجد برنامج FTD واحد تتم إدارته بواسطة وحدة التحكم في الإدارة الأساسية (FMC) هذه، باسم FTDv-703.
الحصول على UUID لمجال سجلات الأجهزة
يمكنك كتابة قيمة المعرف كما هي مستخدمة للوصول إلى طلبات واجهة برمجة التطبيقات المستهدفة ل FTD هذا على وجه الخصوص. انسخ المعرف:
"name": "FTDv-703"
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
كمثال نهائي، يمكنك إسترداد جميع تكوينات الواجهة لجهاز مدار معين (FTDv-703) باستخدام معرف المستخدم الفريد (UID) للجهاز (الذي تم الحصول عليه من الاستجابة السابقة) بهذه الطريقة:
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
انتقل إلى GET
- Devices > Device records > physicalinterfaces
.
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/physicalinterfaces
ردود FMC (مع إخراج إستجابة الخادم) ويمكنك أن ترى أن هذا الجهاز (FTD) يحتوي على واجهات بيانات وواجهة تشخيص تم تكوينها باستخدام UUID وعمليات التكوين المقابلة لها.
الحصول على إستجابة الواجهات المادية لسجلات الأجهزة.
From Response body:
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967553",
"name": "GigabitEthernet0/0"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967554",
"name": "GigabitEthernet0/1"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967555",
"name": "Diagnostic0/0"
يمكن تطبيق البنية السابقة الشبيهة بالشجرة ومنطق الوصول إلى طرق HTTP على جميع الكائنات. الانتقال من UUID عام إلى UUID خاص، يمكنك قراءة تغييرات التكوين أو تعديلها أو إضافتها إلى FMC والأجهزة المدارة المحددة.
بنية URI.
يمكن أن يكون مستكشف واجهة برمجة التطبيقات (API) الخاص بوحدة التحكم في إدارة الإطارات (FMC) مفيدا جدا كدليل أو مرجع لعرض الميزات المدعومة وأساليب التكوين، حتى يمكنك تصميم تعليمك البرمجية وتخصيصه لعمليات نشر التكوين.
كما يمكنك التفاعل مع واجهة برمجة تطبيقات FMC باستخدام العديد من منصات واجهة برمجة التطبيقات (API) مثل PostMan أو من مضيف محلي من خلال Python أو Perl Script.