عند محاولة إسترداد سجلات الوصول عن بعد إلى VPN باستخدام نقطة نهاية /تقارير/API للوصول الآمن من Cisco/v2/أحداث الوصول عن بعد، يستقبل المستخدمون بشكل ثابت إستجابة "منع الوصول وفقا لمعيار 403" على الرغم من تمكين جميع النطاقات المطلوبة بما في ذلك reports.granularevents:read. تحدث المشكلة عند إجراء إستدعاءات API باستخدام المعلمات التالية:
Authorization: Bearer <token>
Accept: application/json
Endpoint: https://api.sse.cisco.com/reports/v2/remote-access-events
Params: {"limit": 500, "from": "-6000minutes", "to": "now"}
HTTP status: 403
Events retrieved: 0
Access Forbidden
يحدث الخطأ بالرغم من أن مفتاح API له نطاقات تقارير متعددة تم تكوينها، ونقاط نهاية API الأخرى تعمل بشكل صحيح. يبلغ المستخدمون عن قدرتهم على الوصول إلى نقاط نهاية التقرير الأخرى بنجاح ولكن يصادفون على وجه التحديد مشاكل التفويض مع نقطة نهاية أحداث الوصول عن بعد.
تم حل المشكلة باستخدام نطاق واجهة برمجة التطبيقات الصحيح لنقطة نهاية أحداث الوصول عن بعد. يختلف النطاق الموثق ومتطلب التنفيذ الفعلي لهذه النقطة النهائية المحددة.
كشف التحقيق عن وجود تباين بين نطاق واجهة برمجة التطبيقات الموثقة والتنفيذ الفعلي:
تذكر الوثائق: النطاق المطلوب هو reports.aggregations:read.
التنفيذ الفعلي: تقارير خرائط قائمة التحكم في الوصول (ACL) لبوابة واجهة برمجة التطبيقات الخارجية/الإصدار 2/أحداث الوصول عن بعد إلى التقارير.أدوات المساعدة:للقراءة.
أكد الاختبار سلوك النطاق هذا:
Token Scope: reports.aggregations:read
GET /reports/v2/remote-access-events
Response: 403
Token Scope: reports.utilities:read
GET /reports/v2/remote-access-events
Response: 200
Token Scope: reports.* (All Reports)
GET /reports/v2/remote-access-events
Response: 200
لحل الخطأ "منع الوصول إلى 403"، قم بتكوين مفتاح API باستخدام النطاق الصحيح:
الخطوة 1: إدارة مفتاح واجهة برمجة التطبيقات للوصول.
انتقل إلى Admin > مفاتيح API في لوحة معلومات الوصول الآمن.
الخطوة 2: إنشاء مفتاح واجهة برمجة تطبيقات جديد.
طقطقة يضيف API مفتاح (+) ويشكل:
اسم مفتاح API
الوصف (إختياري)
تاريخ انتهاء الصلاحية حسب الرغبة
الخطوة 3: قم بتكوين النطاق الصحيح.
في قسم النطاقات، قم بتمكين التقارير.utilities:القراءة لوظيفة أحداث الوصول عن بعد.
الخطوة 4: إنشاء رمز الحامل المميز.
قم بإنشاء رمز مميز جديد لحامله باستخدام تدفق بيانات اعتماد عميل OAuth2 باستخدام مفتاح API المحدث.
الخطوة 5: إختبار إستدعاء واجهة برمجة التطبيقات.
أعد محاولة إستدعاء API باستخدام تنسيق الأمر curl العامل:
curl -L --request GET \
--url 'https://api.sse.cisco.com/reports/v2/remote-access-events?limit=10&from=-60minutes&to=now' \
--header 'Authorization: Bearer <Bearer token>' \
--header 'Accept: application/json'
الخطوة 6: تحقق من الدقة.
تأكيد إستدعاء واجهة برمجة التطبيقات ترجع حالة HTTP 200 وتسترجع بيانات أحداث الوصول عن بعد المتوقعة.
السبب الرئيسي هو عدم تطابق بين متطلبات نطاق واجهة برمجة التطبيقات (API) الموثقة والتنفيذ الفعلي في قائمة التحكم في الوصول (ACL) الخاصة ببوابة واجهة برمجة التطبيقات الخارجية. تذكر وثائق Cisco العامة ل GET /reports/v2/remote-access-events بشكل غير صحيح أن نطاق الوصول المطلوب هو reports.aggregation:read، عندما يتطلب التنفيذ الفعلي reports.utilities:read. يتسبب هذا التباين في حدوث حالات فشل في المصادقة حتى عندما يعتقد المستخدمون أنهم قاموا بتكوين الأذونات الصحيحة استنادا إلى الوثائق الرسمية.
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
1.0 |
04-Nov-2026
|
الإصدار الأولي |