أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
تحمي أمان "المرحلة الأخيرة" خدمات الخلفية التي توفّر لها خدمات واجهة برمجة التطبيقات خدمات الوكيل. إنّ الهدف الأساسي من أمان "المرحلة الأخيرة" هو منع الهجمات التي يُطلق عليها اسم "الهجوم من الخلف"، حيث يكتشف مطوّر التطبيقات عنوان URL لخدمة الخلفية ويتجاوز أيّ وسطاء لواجهات برمجة التطبيقات للوصول مباشرةً إلى عنوان URL للخدمة في الخلفية.
في ما يلي الخيارات الأساسية لإعداد أمان "المسافة الأخيرة":
- بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) للعميل
- المصادقة الصادرة
- وحدة tls في Node.js
بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) للعميل
الآلية الأساسية لتأمين المرحلة الأخيرة هي بروتوكول TLS/SSL الخاص بالعملاء، والذي يُعرف أيضًا باسم "المصادقة المتبادلة".
اطّلِع على ضبط بروتوكول طبقة النقل الآمنة (TLS) من Edge إلى الخلفية (Cloud وPrivate Cloud).
المصادقة الصادرة
يمكن أيضًا فرض أمان "المرحلة الأخيرة" من خلال مطالبة الوكيل لواجهة برمجة التطبيقات بتقديم بيانات اعتماد للخدمة في الخلفية.
على سبيل المثال، قد تحتاج إلى أن يقدّم خادم وكيل لواجهة برمجة التطبيقات مفتاح واجهة برمجة التطبيقات لخدمة الخلفية. يمكنك أيضًا استخدام وكيل واجهة برمجة التطبيقات للحصول على رمز وصول بيانات اعتماد عميل OAuth وتقديمه.
مفتاح واجهة برمجة التطبيقات
يمكن تطبيق مفاتيح واجهة برمجة التطبيقات على الطلبات الصادرة من وكلاء واجهة برمجة التطبيقات إلى خدمات الخلفية. يفترض ذلك أنّ خدمة الخلفية هي واجهة برمجة تطبيقات قادرة على إصدار مفاتيح واجهة برمجة التطبيقات والتحقّق منها.
في حال إعداد وكيل واجهة برمجة التطبيقات لتقديم مفتاح واجهة برمجة التطبيقات في الطلبات الصادرة، يجب تخزين مفتاح واجهة برمجة التطبيقات في مكان يمكن لوكيل واجهة برمجة التطبيقات استرجاعه أثناء التشغيل. إنّ أحد المواقع المتاحة لتخزين مفاتيح واجهة برمجة التطبيقات هو خريطة مفاتيح/قيم. راجِع سياسة عمليات تعيين قيم المفاتيح.
يمكنك استخدام نوع سياسة AssignMessage لإضافة مفتاح واجهة برمجة التطبيقات كعنوان HTTP أو معلَمة طلب بحث أو عنصر حمولة إلى الطلب الصادر. راجِع مقالة تعيين سياسة الرسائل.
.بيانات اعتماد عميل OAuth
يمكن استخدام بيانات اعتماد عميل OAuth لإضافة طبقة من إمكانية الإلغاء إلى مفاتيح واجهة برمجة التطبيقات. إذا كانت خدماتك في الخلفية تتوافق مع بيانات اعتماد عميل OAuth، يمكنك ضبط خادم وكيل لواجهة برمجة التطبيقات لتقديم رمز دخول لبيانات اعتماد العميل لكل طلب.
يجب ضبط الوكيل لواجهة برمجة التطبيقات لإجراء طلب للحصول على رمز الوصول من نقطة نهاية الرمز المميّز. يجب أيضًا أن يخزِّن الوكيل لواجهة برمجة التطبيقات رمز الوصول، لمنع العميل من الحصول على رمز وصول جديد لكل طلب.
يمكن استخدام عدد من الأساليب لتنفيذ بيانات اعتماد العميل الصادرة.
يمكنك تعديل هذا النموذج لاستدعاء نقطة نهاية الرمز المميّز للحصول على رمز وصول. يستخدم هذا المثال JavaScript لإرفاق الرمز المميّز بالطلب الصادر كعنوان تفويض HTTP. يمكنك أيضًا استخدام تعيين سياسة الرسائل لهذا الغرض.
SAML
يمكن استخدام نوع سياسة GenerateSAMLAssertion لإرفاق تعريف SAML برسالة طلب XML خارجية، من الوكيل لواجهة برمجة التطبيقات إلى خدمة الخلفية. يتيح ذلك لخدمة الخلفية تنفيذ المصادقة والتفويض على الطلبات التي يتم استلامها من وكلاء واجهات برمجة التطبيقات.
راجِع سياسات ملف تعريف هوية SAML.
Node.js
إذا كان هدف الخادم الوكيل لواجهة برمجة التطبيقات هو تطبيق Node.js، يمكنك استخدام tls
وحدة Node.js لإنشاء اتصالات آمنة بخدمات
الخلفية. يمكنك إرسال طلبات خارجية باستخدام وحدة tls
بالطريقة نفسها التي تستخدمها عادةً في Node.js. بشكل أساسي، عليك إضافة مفاتيح وشهادات من جهة العميل (ملفات .pem) إلى directory/resources/node وتحميلها داخل النص البرمجي. للحصول على معلومات عن استخدام وحدة
tls
وطرقها، اطّلِع على مستندات وحدة tls في Node.js. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التعرّف على دعم Edge لوحدات Node.js.