برنامج تعليمي: تحويل وحماية واجهة برمجة التطبيق

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

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

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

إشعار

بشكل افتراضي، تكوّن API Management نهج forward-request عموميًا. نهج forward-request مطلوب للبوابة لإكمال طلب إلى إحدى خدمات الخلفية.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • تحويل واجهة برمجة تطبيقات إلى رؤوس استجابات الشريط
  • استبدال عناوين URL الأصلية في نص استجابة واجهة برمجة التطبيقات بعناوين URL في بوابة API Management
  • حماية واجهة برمجة تطبيقات بإضافة سياسة تحديد المعدّل (التقييد)
  • اختبار التحويلات

النُهج في المدخل

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

الانتقال إلى مثيل إدارة واجهة برمجة التطبيقات لديك

  1. في مدخل Microsoft Azure، ابحث عن خدمات APIM وحددها.

    تحديد خدمات إدارة واجهة برمجة التطبيقات

  2. في صفحة خدمات إدارة واجهة برمجة التطبيقات، حدد مثيل إدارة واجهة برمجة التطبيقات.

    حدد مثيل خدمات إدارة واجهة برمجة التطبيقات لديك

تحويل واجهة برمجة تطبيقات إلى رؤوس استجابات الشريط

يبين هذا القسم كيفية إخفاء رؤوس HTTP التي لا ترغب في إظهارها للمستخدمين. على سبيل المثال، احذف العناوين التالية في استجابة HTTP:

  • X-Powered-By
  • X-AspNet-Version

اختبار الاستجابة الأصلية

للاطلاع على الاستجابة الأصلية:

  1. في مثيل خدمة APIM، حدد واجهات برمجة التطبيقات.
  2. حددDemo Conference API من قائمة API الخاصة بك.
  3. حدد علامة التبويب اختبار، في أعلى الشاشة.
  4. حدد عملية GetSpeakers، ثم حدد إرسال.

ينبغي أن تتشابه الاستجابة الأصلية لواجهة برمجة التطبيقات مع الاستجابة التالية:

استجابة واجهة برمجة التطبيقات الأصلية

كما ترى، تتضمن الاستجابة عناوين X-AspNet-Version وX-Powered-By.

تعيين سياسة التحويل

يعرض هذا المثال كيفية استخدام محرر النهج المستند إلى النموذج، والذي يساعدك في تكوين العديد من النُهج بدون الحاجة إلى تحرير عبارات XML للنهج مباشرةً.

  1. حدد Demo Conference API>Design>All operations.

  2. في قسم معالجة الوارد، حدد + إضافة نهج.

    الانتقال إلى نهج الصادر

  3. في نافذة إضافة نهج وارد، حدد تعيين العناوين.

    نهج تعيين عناوين HTTP

  4. لتكوين نهج تعيين العناوين، نفّذ ما يلي:

    1. ضمن الاسم، أدخل X-Powered-By. ضمن الإجراء، حدد حذف.
    2. حدد + إضافة عنوان.
    3. ضمن الاسم، أدخل X-AspNet-Version. ضمن الإجراء، حدد حذف.

    تعيين رأس HTTP

  5. حدد حفظ. يظهر عنصران لنهج set-header في قسم معالجة الصادر.

استبدال عناوين URL الأصلية في نص استجابة واجهة برمجة التطبيقات بعناوين URL في بوابة API Management

يعرض هذا القسم كيفية استبدال عناوين URL الأصلية التي تظهر في نص استجابة HTTP بواجهة برمجة التطبيقات بعناوين URL لبوابة API Management. قد ترغب في إخفاء عناوين URL الأصلية للخلفية عن المستخدمين.

اختبار الاستجابة الأصلية

للاطلاع على الاستجابة الأصلية:

  1. حدد Demo Conference API>Test.

  2. حدد عملية GetSpeakers، ثم حدد إرسال.

    حسبما ترى، تتضمن الاستجابة عناوين URL الأصلية في الواجهة الخلفية:

    عناوين URL الأصلية في الاستجابة

تعيين سياسة التحويل

في هذا المثال، تستخدم محرر التعليمات البرمجية للنهج لإضافة قصاصة XML البرمجية للنهج مباشرةً إلى تعريف النهج.

  1. حدد Demo Conference API>Design>All operations.

  2. في قسم معالجة الصادر، حدد أيقونة محرر التعليمات البرمجية (</>).

    الانتقال إلى محرر التعليمات البرمجية لنهج الصادر

  3. ضَع المؤشر داخل العنصر <outbound> على سطر فارغ. ثم حدد إظهار القصاصات البرمجية في الركن العلوي الأيسر من الشاشة.

    تحديد عرض القصاصات البرمجية

  4. في النافذة اليمنى، ضمن نهج التحويل، حدد إخفاء عناوين URL في المحتوى.

    يُضاف العنصر <redirect-content-urls /> عند المؤشر.

    إخفاء عناوين URL في المحتوى

  5. حدد حفظ.

حماية واجهة برمجة تطبيقات بإضافة سياسة تحديد المعدّل (التقييد)

يوضح هذا القسم كيفية إضافة حماية إلى واجهة برمجة تطبيقات الخلفية عن طريق تكوين حدود المعدل، حتى لا يفرط المطوّرون في استخدام واجهة برمجة التطبيقات. في هذا المثال، يُعيَّن الحد إلى ثلاثة استدعاءات كل 15 ثانية لكل معرّف اشتراك. بعد مرور 15 ثانية، يمكن للمطوّر إعادة محاولة استدعاء واجهة برمجة التطبيقات.

  1. حدد Demo Conference API>Design>All operations.

  2. في قسم معالجة الوارد، حدد أيقونة محرر التعليمات البرمجية (</>).

    الانتقال إلى نهج الوارد

  3. ضَع المؤشر داخل العنصر <inbound> على سطر فارغ. ثم حدد إظهار القصاصات البرمجية في الركن العلوي الأيمن من الشاشة.

    نهج تعيين الصادر

  4. في النافذة السفلى، ضمن الوصول إلى نُهج التقييد، حدد معدل استدعاءات الحد لكل مفتاح.

    يُضاف العنصر <rate-limit-by-key /> عند المؤشر.

    تحديد معدل استدعاءات الحد لكل مفتاح

  5. عدّل أيقونة <rate-limit-by-key /> لديك في العنصر <inbound> إلى التعليمة البرمجية التالية. ثم حدد حفظ.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

اختبار التحويلات

عند هذه المرحلة، إذا نظرت إلى التعليمة البرمجية في محرر التعليمات البرمجية، ستبدو نُهجك مثل التعليمة البرمجية التالية:

<policies>
   <inbound>
     <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
     <base />
   </inbound>
   <backend>
     <base />
   </backend>
   <outbound>
     <set-header name="X-Powered-By" exists-action="delete" />
     <set-header name="X-AspNet-Version" exists-action="delete" />
     <redirect-content-urls />
     <base />
   </outbound>
   <on-error>
     <base />
   </on-error>
</policies>

يختبر باقي هذا القسم تحويلات السياسة التي قمت بتعيينها في هذه المقالة.

اختبار رؤوس الاستجابات المجردة

  1. حدد Demo Conference API>Test.

  2. حدد عملية GetSpeakers وحدد Send.

    حسبما ترى، تم تجريد الرؤوس:

    عناوين الاستجابات المجردة

اختبار عنوان URL المُستبدل

  1. حدد Demo Conference API>Test.

  2. حدد عملية GetSpeakers وحدد Send.

    كما يمكنك أن ترى، يجري استبدال عناوين URL.

    عناوين URL المُستبدلة

اختبار تحديد المعدّل (التقييد)

  1. حدد Demo Conference API>Test.

  2. حدد عملية GetSpeakers. حدد إرسال ثلاث مرات متتالية.

    بعد إرسال الطلب ثلاث مرات، ستحصل على الاستجابة 429 ، ويمثل عدد طلبات أكبر من اللازم.

    طلبات كثيرة جدًا

  3. انتظر لمدة 15 ثانية أو أكثر ثم حدد إرسال مجددًا. هذه المرة يجب أن تحصل على استجابة 200 OK .

الخطوات التالية

في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:

  • تحويل واجهة برمجة تطبيقات إلى رؤوس استجابات الشريط
  • استبدال عناوين URL الأصلية في نص استجابة واجهة برمجة التطبيقات بعناوين URL في بوابة API Management
  • حماية واجهة برمجة تطبيقات بإضافة سياسة تحديد المعدّل (التقييد)
  • اختبار التحويلات

تقدم إلى البرنامج التعليمي الآتي: