مستوى الأمان في "الأميال الأخيرة"

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

يحمي الأمان في آخر مرحلة خدمات الخلفية التي يتم توجيهها من خلال "خدمات واجهة برمجة التطبيقات". الهدف الأساسي من الأمان في آخر مرحلة هو منع ما يُعرف بهجمات "الوصول المباشر"، حيث يكتشف أحد مطوّري التطبيقات عنوان URL لخدمة خلفية ويتجاوز أي خوادم وكيلة لواجهة برمجة التطبيقات للوصول مباشرةً إلى عنوان URL للخلفية.

في ما يلي الخيارات الأساسية لإعداد الأمان في آخر مرحلة:

  • بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) من جهة العميل
  • المصادقة الصادرة
  • وحدة Node.js‏ tls

بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) من جهة العميل

الآلية الأساسية لتأمين آخر مرحلة هي بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) من جهة العميل، ويُعرف أيضًا باسم 'المصادقة المتبادلة'.

يمكنك الاطّلاع على مقالة إعداد بروتوكول أمان طبقة النقل (TLS) من Edge إلى الخلفية (السحابة الإلكترونية والسحابة الإلكترونية الخاصة).

المصادقة الصادرة

يمكن أيضًا فرض الأمان في آخر مرحلة من خلال مطالبة الخادم الوكيل لواجهة برمجة التطبيقات بتقديم بيانات اعتماد إلى خدمة الخلفية.

على سبيل المثال، قد تريد أن يقدّم خادم وكيل لواجهة برمجة التطبيقات مفتاح واجهة برمجة تطبيقات إلى خدمة الخلفية. يمكنك أيضًا أن يطلب خادم وكيل لواجهة برمجة التطبيقات رمز دخول لبيانات اعتماد عميل OAuth ويقدّمه.

مفتاح واجهة برمجة التطبيقات

يمكن تطبيق مفاتيح واجهة برمجة التطبيقات على الطلبات الصادرة من الخوادم الوكيلة لواجهة برمجة التطبيقات إلى خدمات الخلفية. ويفترض ذلك أنّ خدمة الخلفية هي واجهة برمجة تطبيقات قادرة على إصدار مفاتيح واجهة برمجة التطبيقات والتحقّق من صحتها.

إذا أعددت خادمًا وكيلاً لواجهة برمجة التطبيقات لتقديم مفتاح واجهة برمجة التطبيقات في الطلبات الصادرة، عليك تخزين الـ مفتاح واجهة برمجة التطبيقات في مكان يمكن للخادم الوكيل لواجهة برمجة التطبيقات استرداده في وقت التشغيل. أحد المواقع المتاحة لتخزين مفاتيح واجهة برمجة التطبيقات هو خريطة القيم الرئيسية. يمكنك الاطّلاع على سياسة عمليات خريطة القيم الرئيسية.

يمكنك استخدام نوع سياسة AssignMessage لإضافة مفتاح واجهة برمجة التطبيقات كعنوان HTTP أو مَعلمة طلب بحث أو عنصر حمولة إلى الطلب الصادر. يمكنك الاطّلاع على سياسة Assign Message.

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

يمكن استخدام بيانات اعتماد عميل OAuth لإضافة طبقة من إمكانية الإبطال إلى مفاتيح واجهة برمجة التطبيقات. إذا كانت خدمات الخلفية تتيح بيانات اعتماد عميل OAuth، يمكنك إعداد خادم وكيل لواجهة برمجة التطبيقات لتقديم رمز الدخول لبيانات اعتماد العميل لكل طلب.

يجب إعداد الخادم الوكيل لواجهة برمجة التطبيقات لإجراء عملية استدعاء للحصول على رمز الوصول من نقطة نهاية الرمز المميز. يجب أيضًا أن يخزّن الخادم الوكيل لواجهة برمجة التطبيقات رمز الوصول مؤقتًا لمنعه من الحصول على رمز وصول جديد لكل عملية استدعاء.

يمكن استخدام عدد من الطرق لتنفيذ بيانات اعتماد العميل الصادرة.

يمكنك تعديل هذا النموذج لاستدعاء نقطة نهاية الرمز المميز للحصول على رمز وصول. يستخدم هذا النموذج JavaScript لإرفاق الرمز المميز بالطلب الصادر كعنوان HTTP Authorization. يمكنك أيضًا استخدام Assign Message policy لهذا الغرض.

SAML

يمكن استخدام نوع سياسة GenerateSAMLAssertion لإرفاق تأكيد SAML برسالة طلب XML صادرة من الخادم الوكيل لواجهة برمجة التطبيقات إلى خدمة الخلفية. يتيح ذلك لخدمة الخلفية إجراء المصادقة والتفويض على الطلبات الواردة من الخوادم الوكيلة لواجهة برمجة التطبيقات.

يمكنك الاطّلاع على سياسات تأكيد SAML.

Node.js

إذا كان هدف الخادم الوكيل لواجهة برمجة التطبيقات هو تطبيق Node.js، يمكنك استخدام الـ Node.js tls وحدة لإنشاء اتصالات آمنة بخدمات الخلفية. يمكنك إجراء طلبات صادرة باستخدام وحدة tls بالطريقة نفسها التي تستخدمها عادةً في Node.js. عليك بشكل أساسي إضافة المفاتيح والشهادات من جهة العميل (ملفات ‎.pem) إلى دليل resources/node وتحميلها داخل النص البرمجي. للحصول على معلومات حول استخدام الوحدة tls وطرقها، يمكنك الاطّلاع على مستندات وحدة Node.js‏ tls. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة فهم دعم Edge لوحدات Node.js.