اقرأ باللغة الإنجليزية

مشاركة عبر


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

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

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

تلميح

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

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

ملاحظة

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

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

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

لقطة شاشة لنهج APIM في المدخل.

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

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

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

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

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

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

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

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

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

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

لقطة شاشة لاستجابة واجهة برمجة التطبيقات الأصلية في المدخل.

تحويل واجهة برمجة تطبيقات لإضافة عنوان استجابة مخصص

تتضمن APIM العديد من نهج التحويل التي يمكنك استخدامها لتعديل حمولات الطلب أو الاستجابة أو الرؤوس أو رموز الحالة. في هذا المثال، يمكنك تعيين عنوان استجابة مخصص في استجابة واجهة برمجة التطبيقات.

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

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

  1. حدد Swagger Petstore>Design>All operations.

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

    لقطة شاشة للانتقال إلى النهج الصادر في المدخل.

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

    لقطة شاشة لتكوين نهج تعيين الرؤوس في المدخل.

  4. لتكوين نهج تعيين الرؤوس، قم بما يلي:

    1. ضمن الاسم، أدخل مخصص.
    2. ضمن القيمة، حدد + إضافة قيمة. أدخل "My custom value".
    3. حدد حفظ.
  5. بعد التكوين، يظهر عنصر نهج رأس المجموعة في قسم المعالجة الصادرة.

    لقطة شاشة لنهج تعيين الرؤوس الصادرة في المدخل.

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

يوضح هذا القسم كيفية إضافة حماية إلى واجهة برمجة تطبيقات الخلفية عن طريق تكوين حدود المعدل، حتى لا يفرط المطوّرون في استخدام واجهة برمجة التطبيقات. يوضح هذا المثال كيفية تكوين النهج rate-limit-by-key باستخدام محرر التعليمات البرمجية. في هذا المثال، يتم تعيين الحد إلى ثلاثة استدعاءات لكل 15 ثانية. وبعد مرور 15 ثانية، يمكن للمطور إعادة محاولة الاتصال بواجهة برمجة التطبيقات.

ملاحظة

هذا النهج غير مدعوم في مستوى الاستهلاك.

  1. حدد Swagger Petstore>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 calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
         <base />
     </inbound>
     <outbound>
         <set-header name="Custom" exists-action="override">
             <value>"My custom value"</value>
           </set-header>
         <base />
     </outbound>
     <on-error>
         <base />
     </on-error>
 </policies>

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

اختبار عنوان الاستجابة المخصص

  1. حدد Swagger Petstore>Test.

  2. حدد GET للبحث عن الأليفة حسب عملية الحالة، وحدد اختياريا قيمة مختلفة لمعلمة الحالةQuery. حدد إرسال.

    كما ترى، تتم إضافة عنوان الاستجابة المخصص:

    لقطة شاشة تعرض عنوان الاستجابة المخصص في المدخل.

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

  1. حدد Swagger Petstore>Test.

  2. حدد عملية GET للبحث عن الأليفة حسب الحالة. حدد إرسال عدة مرات في صف.

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

    لقطة شاشة تعرض طلبات كثيرة جدا في الاستجابة في المدخل.

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

الملخص

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

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

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

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