تكوين Front Door Standard/Premium أمام Azure API Management

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

Azure Front Door هو منصة حديثة لشبكة توصيل التطبيقات توفر شبكة توصيل محتوى آمنة وقابلة للتوسع، وتسريع ديناميكي للموقع، وموازنة تحميل HTTP(s) عالمية لتطبيقات الويب العالمية الخاصة بك. عند استخدامه أمام APIM، يمكن أن يوفر Front Door تفريغ TLS، وTLS من طرف إلى طرف، وموازنة التحميل، والتخزين المؤقت للاستجابة لطلبات GET، وجدار حماية تطبيق الويب، من بين قدرات أخرى. للحصول على قائمة كاملة بالميزات المدعومة، انظر ما هو Azure Front Door؟

إشعار

بالنسبة لأحمال العمل على الويب، نوصي بشدة باستخدام Azure DDoS Protectionوجدار حماية تطبيقات الويب للحماية من هجمات DDoS الناشئة. خيار آخر هو استخدام Azure Front Door مع جدار حماية لتطبيقات الويب. يوفر Azure Front Door حماية على مستوى المنصة ضد هجمات DDoS على مستوى الشبكة. لمزيد من المعلومات، راجع Security baseline for Azure Services.

يوضح هذا المقال طريقة القيام بما يلي:

  • قم بإعداد ملف تعريف Azure Front Door Standard/Premium أمام مثيل Azure API Management متاح للجمهور: إما غير متصل بالشبكة، أو نسخة مطورة أو مميزة تم حقنها في شبكة افتراضية بنظام external mode.
  • تقييد إدارة API لقبول حركة مرور API فقط من Azure Front Door.

تلميح

يمكنك أيضا تكوين Azure Front Door Premium لتوجيه حركة المرور إلى بوابة إدارة واجهات برمجة التطبيقات باستخدام <نقطة نهاية c0>private.

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

  • مثيل API Management.
    • إذا اخترت استخدام مثيل تم حقنه بالشبكة، فيجب نشره في شبكة ظاهرية خارجية. (يتم دعم إدخال الشبكة الظاهرية في مستويات الخدمة المطور والمتميزة.)
  • استيراد واحد أو أكثر من واجهات برمجة التطبيقات إلى مثيل APIM لتأكيد التوجيه من خلال Front Door.

Configure Azure Front Door

إنشاء ملف تعريف

للخطوات لإنشاء ملف تعريف Azure Front Door Standard/Premium، راجع Quickstart: إنشاء ملف تعريف Azure Front Door - Azure portal. بالنسبة لهذه المقالة، يمكنك اختيار ملف تعريف Front Door Standard. للمقارنة بين المعيار من الباب الأمامي وPremium، راجع مقارنة الدرج.

قم بتكوين إعدادات Front Door التالية الخاصة باستخدام نقطة نهاية البوابة لمثيل APIM الخاص بك كأصل Front Door. للحصول على شرح للإعدادات الأخرى، راجع التشغيل السريع ل Front Door.

الإعداد القيمة‬
نوع الأصل اختر إدارة واجهات برمجة التطبيقات
اسم مضيف الأصل اختر اسم المضيف لمثيل إدارة واجهة برمجة التطبيقات الخاصة بك، على سبيل المثال، myapim.azure-api.net
التخزين المؤقت اختر تفعيل التخزين المؤقت لواجهة الباب الأمامي لتخزين المحتوى الثابت مؤقتا
سلوك التخزين المؤقت للسلاسل النصية حدد استخدام سلسلة الاستعلام

لقطة شاشة لإنشاء ملف تعريف للباب الأمامي في البوابة.

تحديث مجموعة الأصل الافتراضية

بعد إنشاء ملف التعريف، قم بتحديث مجموعة الأصل الافتراضية لتضمين فحص سلامة APIM.

  1. في البوابة، اذهب إلى ملفك الشخصي في الباب الأمامي.

  2. في القائمة اليسرى، تحت الإعدادات اختر مجموعات> الأصلdefault-origin-group.

  3. في نافذة مجموعة أصل التحديث ، قم بتكوين إعدادات فحص الصحة التالية واختر التحديث:

    الإعداد القيمة‬
    Status اختر تمكين المسحوبات الصحية
    Path أدخل /status-0123456789abcdef
    البروتوكول اختر HTTPS
    الطريقة اختر GET
    الفاصل (بالثواني) دخل 30

    لقطة شاشة لتحديث مجموعة الأصل الافتراضية في البوابة.

تحديث المسار الافتراضي

نوصي بتحديث المسار الافتراضي المقترن بمجموعة أصل APIM لاستخدام HTTPS كبروتوكول إعادة التوجيه.

  1. في البوابة، اذهب إلى ملفك الشخصي في الباب الأمامي.
  2. في القائمة اليسرى، تحت الإعدادات اختر مجموعات Origin.
  3. توسيع مجموعة الأصل الافتراضية.
  4. في قائمة السياق (...) في المسار الافتراضي، اختر تكوين المسار.
  5. قم بتعيين بروتوكولات القبول على HTTP وHTTPS.
  6. فعل إعادة توجيه جميع حركة المرور لاستخدام HTTPS.
  7. قم بتعيين بروتوكول إعادة التوجيه على HTTPS فقط ثم اختر التحديث.

اختبار التكوين

اختبر تكوين ملف تعريف Front Door عن طريق استدعاء واجهة برمجة التطبيقات التي تستضيفها APIM، على سبيل المثال، واجهة برمجة تطبيقات Swagger Petstore. أولا، استدع واجهة برمجة التطبيقات مباشرة من خلال بوابة إدارة واجهة برمجة التطبيقات للتأكد من إمكانية الوصول إلى واجهة برمجة التطبيقات. ثم استدع واجهة برمجة التطبيقات من خلال Front Door.

استدعاء واجهة برمجة التطبيقات مباشرة من خلال إدارة واجهة برمجة التطبيقات

لاستدعاء واجهة برمجة تطبيقات مباشرة عبر بوابة إدارة واجهة برمجة التطبيقات، يمكنك استخدام عميل سطر أوامر مثل curl عميل HTTP آخر. يرجع الاستجابة الناجحة استجابة 200 OK HTTP والبيانات المتوقعة:

لقطة شاشة تظهر استدعاء نقطة نهاية إدارة API مباشرة باستخدام عميل HTTP.

استدعاء واجهة برمجة التطبيقات مباشرة من خلال Front Door

استدعاء نفس عملية واجهة برمجة التطبيقات باستخدام نقطة نهاية Front Door المكونة للمثيل الخاص بك. اسم المضيف الخاص بنقطة النهاية في النطاق azurefd.net يظهر في البوابة في صفحة النظرة العامة لملفك الشخصي على الباب الأمامي. تظهر الاستجابة 200 OK الناجحة وتعيد نفس البيانات كما في المثال السابق.

تقييد نسبة استخدام الشبكة الواردة إلى مثيل APIM

استخدم سياسات إدارة API لضمان أن نسخة إدارة API الخاصة بك تقبل حركة المرور فقط من Azure Front Door. يمكنك تحقيق هذا القيد باستخدام إحدى الطرق أو كلتا الطريقتين التاليتين:

  1. تقييد عناوين IP الواردة إلى مثيلات APIM
  2. تقييد حركة المرور بناء على قيمة رأس X-Azure-FDID

تقييد عناوين IP الواردة

يمكنك تكوين سياسة تصفية IP الواردة في إدارة واجهات برمجة التطبيقات للسماح فقط بحركة المرور المتعلقة بالباب الأمامي، والتي تشمل:

  • Front Door لمساحة عناوين IP الخلفية في الباب - السماح بعناوين IP المقابلة لقسم AzureFrontDoor.Backend في Azure نطاقات IP وعلامات الخدمة.

    إشعار

    إذا تم نشر مثيل APIM الخاص بك في شبكة ظاهرية خارجية، فتحقق من نفس التقييد عن طريق إضافة قاعدة مجموعة أمان شبكة واردة في الشبكة الفرعية المستخدمة لمثيل APIM. قم بتكوين القاعدة للسماح بحركة مرور HTTPS من علامة الخدمة المصدر AzureFrontDoor.Backend على المنفذ 443.

  • Azure خدمات البنية التحتية - السماح بعناوين IP 168.63.129.16 و169.254.169.254.

تحقق من رأس Front Door

تتضمن الطلبات التي يتم توجيهها من خلال Front Door عناوين خاصة بتكوين Front Door الخاص بك. يمكنك تكوين سياسة check-header لتصفية الطلبات الواردة بناء على القيمة الفريدة لرأس طلب X-Azure-FDID HTTP الذي يرسل إلى إدارة واجهات برمجة التطبيقات. قيمة الرأس هذه هي معرف الباب الأمامي، والذي يظهر في البوابة في صفحة النظرة العامة لملف تعريف الباب الأمامي.

في المثال التالي للسياسة، يتم تحديد معرف الباب الأمامي باستخدام قيمة مسماة تسمى FrontDoorId.

<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request." ignore-case="false">
        <value>{{FrontDoorId}}</value>
</check-header>

الطلبات التي لا ترافق رأس X-Azure-FDID صالح تعيد ردا 403 Forbidden.

(اختياري) تكوين Front Door لمدخل المطور

اختياريا، قم بتكوين مدخل مطور مثيل APIM كنقطة نهاية في ملف تعريف Front Door. بينما بوابة المطورين المدارة موجهة بالفعل بشبكة CDN مدارة من Azure، قد ترغب في الاستفادة من ميزات Front Door مثل WAF.

فيما يلي خطوات عالية المستوى لإضافة نقطة نهاية لمدخل المطور إلى ملف التعريف الخاص بك:

  • لإضافة نقطة نهاية وتكوين مسار، راجع تكوين ونقطة نهاية مع مدير الباب الأمامي.

  • عند إضافة المسار، أضف مجموعة أصل وإعدادات الأصل لتمثيل مدخل المطور:

    • نوع الأصل - اختر المخصص
    • اسم المضيف - أدخل اسم المضيف الخاص ببوابة المطورين، مثل myapim.developer.azure-api.net

لمزيد من المعلومات والتفاصيل حول الإعدادات، راجع كيفية تكوين الأصل ل Azure Front Door.

إشعار

إذا قمت بتكوين مزود هوية Microsoft Entra ID أو Microsoft Entra External ID لبوابة المطورين، تحتاج إلى تحديث تسجيل التطبيق المقابل بعنوان إعادة توجيه إضافي إلى Front Door. في تسجيل التطبيق، أضف عنوان URL لنقطة نهاية مدخل المطور المكونة في ملف تعريف Front Door.