نشر بوابة التطبيق الخاصة (معاينة)

مقدمة

تاريخيا، تطلبت Application Gateway v2 SKUs، وإلى حد ما v1، عناوين IP العامة لتمكين إدارة الخدمة. فرض هذا المطلب العديد من القيود في استخدام عناصر التحكم الدقيقة في مجموعات أمان الشبكة وجداول التوجيه. وعلى وجه التحديد، لوحظت التحديات التالية:

  1. يجب أن تحتوي جميع عمليات توزيع Application Gateways v2 على تكوين IP للواجهة الأمامية العامة لتمكين الاتصال بعلامة خدمة Gateway Manager .
  2. تتطلب اقترانات مجموعة أمان الشبكة قواعد للسماح بالوصول الوارد من GatewayManager والوصول الصادر إلى الإنترنت.
  3. عند إدخال مسار افتراضي (0.0.0.0/0) لإعادة توجيه نسبة استخدام الشبكة في أي مكان آخر غير الإنترنت، تؤدي المقاييس والمراقبة والتحديثات للبوابة إلى حالة فاشلة.

يمكن الآن ل Application Gateway v2 معالجة كل عنصر من هذه العناصر للقضاء على مخاطر النقل غير المصرح للبيانات والتحكم في خصوصية الاتصال من داخل الشبكة الظاهرية. تتضمن هذه التغييرات القدرات التالية:

  1. تكوين IP للواجهة الأمامية فقط لعنوان IP الخاص
    • لا يوجد مورد عنوان IP عام مطلوب
  2. إزالة نسبة استخدام الشبكة الواردة من علامة خدمة GatewayManager عبر مجموعة أمان الشبكة
  3. القدرة على تحديد قاعدة رفض جميع مجموعات أمان الشبكة الصادرة (NSG) لتقييد حركة مرور الخروج إلى الإنترنت
  4. القدرة على تجاوز المسار الافتراضي إلى الإنترنت (0.0.0.0/0)
  5. دقة DNS عبر محللات محددة على الشبكة الظاهرية تعرف على المزيد، بما في ذلك مناطق DNS الخاصة للارتباط الخاص.

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

الإلحاق بالمعاينة العامة

وظائف عناصر التحكم الجديدة لتكوين واجهة IP الأمامية الخاصة، والتحكم في قواعد NSG، والتحكم في جداول التوجيه، هي حاليا في المعاينة العامة. للانضمام إلى المعاينة العامة، يمكنك الاشتراك في التجربة باستخدام مدخل Microsoft Azure أو PowerShell أو CLI أو REST API.

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

لمزيد من المعلومات حول ميزات المعاينة، راجع إعداد ميزات المعاينة في اشتراك Azure

التسجيل في المعاينة

استخدم الخطوات التالية للتسجيل في المعاينة العامة لعناصر تحكم شبكة Application Gateway المحسنة عبر مدخل Microsoft Azure:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في مربع البحث، أدخل الاشتراكات وحدد الاشتراكات .

    بحث مدخل Azure.

  3. حدد ارتباط اسم اشتراكك.

    حدد اشتراك Azure.

  4. من القائمة اليمنى، ضمن الإعدادات حدد معاينة الميزات .

    قائمة ميزات معاينة Azure.

  5. ترى قائمة ميزات المعاينة المتاحة وحالة التسجيل الحالية الخاصة بك.

    قائمة مدخل Azure بميزات الإصدار الأولي.

  6. من Preview features اكتب في مربع التصفية EnableApplicationGatewayNetworkIsolation، تحقق من الميزة، وانقر فوق Register.

    ميزات الإصدار الأولي لعامل تصفية مدخل Azure.

إشعار

قد يستغرق تسجيل الميزة ما يصل إلى 30 دقيقة للانتقال من التسجيل إلى الحالة المسجلة.

لمزيد من المعلومات حول ميزات المعاينة، راجع إعداد ميزات المعاينة في اشتراك Azure

إلغاء التسجيل من المعاينة

لإلغاء الاشتراك في المعاينة العامة لعناصر تحكم شبكة Application Gateway المحسنة عبر المدخل، استخدم الخطوات التالية:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في مربع البحث، أدخل الاشتراكات وحدد الاشتراكات .

    بحث مدخل Azure.

  3. حدد ارتباط اسم اشتراكك.

    حدد اشتراك Azure.

  4. من القائمة اليمنى، ضمن الإعدادات حدد معاينة الميزات .

    قائمة ميزات معاينة Azure.

  5. ترى قائمة ميزات المعاينة المتاحة وحالة التسجيل الحالية الخاصة بك.

    قائمة مدخل Azure بميزات الإصدار الأولي.

  6. من معاينة الميزات اكتب في مربع التصفية EnableApplicationGatewayNetworkIsolation، تحقق من الميزة، وانقر فوق إلغاء التسجيل.

    ميزات الإصدار الأولي لعامل تصفية مدخل Azure.

المناطق وقابلية الوصول

تتوفر معاينة بوابة التطبيق الخاصة لجميع مناطق السحابة العامة حيث يتم دعم Application Gateway v2 sku.

تكوين عناصر التحكم في الشبكة

بعد التسجيل في المعاينة العامة، يمكن إجراء تكوين NSG وجدول التوجيه وتكوين الواجهة الأمامية لعنوان IP الخاص باستخدام أي أساليب. على سبيل المثال: واجهة برمجة تطبيقات REST أو قالب ARM أو توزيع Bicep أو Terraform أو PowerShell أو CLI أو المدخل. لا يتم تقديم أي تغييرات في واجهة برمجة التطبيقات أو الأمر مع هذه المعاينة العامة.

تغييرات الموارد

بعد توفير البوابة الخاصة بك، يتم تعيين علامة مورد تلقائيا باسم EnhancedNetworkControl وقيمة True. راجع المثال التالي:

عرض علامة EnhancedNetworkControl

تعد علامة المورد تجميلية، وتعمل على تأكيد أن البوابة قد تم تزويدها بقدرات لتكوين أي مجموعة من ميزات البوابة الخاصة فقط. لا يؤدي تعديل العلامة أو القيمة أو حذفها إلى تغيير أي أعمال وظيفية للبوابة.

تلميح

يمكن أن تكون علامة EnhancedNetworkControl مفيدة عند نشر بوابات التطبيق الموجودة في الاشتراك قبل تمكين الميزة وترغب في التمييز بين البوابة التي يمكن أن تستخدم الوظيفة الجديدة.

Application Gateway Subnet

الشبكة الفرعية لبوابة التطبيق هي الشبكة الفرعية داخل الشبكة الظاهرية حيث سيتم نشر موارد بوابة التطبيق. في تكوين Frontend Private Ip، من المهم أن تصل هذه الشبكة الفرعية بشكل خاص إلى الموارد التي تريد الاتصال بتطبيقك أو موقعك المكشوف.

الاتصال بالإنترنت الصادر

لا تتمكن عمليات نشر بوابة التطبيق التي تحتوي على تكوين IP خاص للواجهة الأمامية فقط (ليس لديها تكوين واجهة IP أمامية عامة) من الخروج من حركة المرور الموجهة إلى الإنترنت. يؤثر هذا التكوين على الاتصال بأهداف الواجهة الخلفية التي يمكن الوصول إليها بشكل عام عبر الإنترنت.

لتمكين الاتصال الصادر من بوابة التطبيق إلى هدف واجهة خلفية يواجه الإنترنت، يمكنك استخدام الشبكة الظاهرية NAT أو إعادة توجيه نسبة استخدام الشبكة إلى جهاز ظاهري لديه حق الوصول إلى الإنترنت.

توفر الشبكة الظاهرية NAT التحكم في عنوان IP أو البادئة التي يجب استخدامها بالإضافة إلى مهلة الخمول القابلة للتكوين. للتكوين، قم بإنشاء بوابة NAT جديدة بعنوان IP عام أو بادئة عامة وربطها بالشبكة الفرعية التي تحتوي على Application Gateway.

إذا كان الجهاز الظاهري مطلوبا للخروج من الإنترنت، فشاهد قسم التحكم في جدول التوجيه في هذا المستند.

السيناريوهات الشائعة حيث يكون استخدام IP العام مطلوبا:

  • الاتصال بخزنة المفاتيح دون استخدام نقاط النهاية الخاصة أو نقاط نهاية الخدمة
    • الاتصال الصادر غير مطلوب لملفات pfx التي تم تحميلها إلى Application Gateway مباشرة
  • الاتصال بأهداف الواجهة الخلفية عبر الإنترنت
  • الاتصال بالإنترنت الذي يواجه نقاط نهاية CRL أو OCSP

التحكم في مجموعة أمان الشبكة

لم تعد مجموعات أمان الشبكة المقترنة بشبكة فرعية لبوابة التطبيق تتطلب قواعد واردة ل GatewayManager، ولا تتطلب الوصول الصادر إلى الإنترنت. القاعدة المطلوبة الوحيدة هي السماح بالواردة من AzureLoadBalancer لضمان وصول تحقيقات السلامة إلى البوابة.

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

عرض قواعد مجموعة الأمان الواردة

إشعار

ستعرض بوابة التطبيق تنبيها يطلب التأكد من تحديد Allow LoadBalanceRule إذا كانت قاعدة DenyAll تقيد الوصول إلى تحقيقات السلامة عن غير قصد.

سيناريو مثال

يستعرض هذا المثال إنشاء NSG باستخدام مدخل Microsoft Azure مع القواعد التالية:

  • السماح بنسبة استخدام الشبكة الواردة إلى المنفذ 80 و8080 إلى بوابة التطبيق من طلبات العميل التي تنشأ من الإنترنت
  • رفض كل حركة المرور الواردة الأخرى
  • السماح بنسبة استخدام الشبكة الصادرة إلى هدف الواجهة الخلفية في شبكة ظاهرية أخرى
  • السماح بنسبة استخدام الشبكة الصادرة إلى هدف الواجهة الخلفية الذي يمكن الوصول إليه عبر الإنترنت
  • رفض جميع حركة المرور الصادرة الأخرى

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

القواعد الواردة

تم بالفعل توفير ثلاث قواعد افتراضية واردة في مجموعة الأمان. راجع المثال التالي:

عرض قواعد مجموعة الأمان الافتراضية

بعد ذلك، قم بإنشاء قواعد الأمان الواردة الأربعة الجديدة التالية:

  • السماح بالمنفذ الوارد 80، tcp، من الإنترنت (أي)
  • السماح بالمنفذ الوارد 8080، tcp، من الإنترنت (أي)
  • السماح بالواردة من AzureLoadBalancer
  • رفض أي وارد

لإنشاء هذه القواعد:

  • تحديد قواعد الأمان الواردة
  • حدد إضافة
  • أدخل المعلومات التالية لكل قاعدة في جزء إضافة قاعدة أمان واردة.
  • عند إدخال المعلومات، حدد إضافة لإنشاء القاعدة.
  • يستغرق إنشاء كل قاعدة لحظة.
القاعده # المصدر علامة خدمة المصدر نطاقات منافذ المصادر الوجهة الخدمة نطاقات منفذ Dest البروتوكول الإجراء أولوية الاسم
1 أي * أي HTTP 80 TCP السماح 1028 AllowWeb
2 أي * أي مخصص 8080 TCP السماح 1029 AllowWeb8080
3 علامة الخدمة AzureLoadBalancer * أي مخصص * أي السماح 1045 AllowLB
4 أي * أي مخصص * أي الرفض 4095 DenyAllInBound

حدد تحديث لمراجعة جميع القواعد عند اكتمال التوفير.

عرض مثال لقواعد مجموعة الأمان الواردة

القواعد الخارجية

تم بالفعل توفير ثلاث قواعد افتراضية صادرة ذات أولوية 65000 و65001 و65500.

إنشاء قواعد الأمان الصادرة الثلاث التالية:

  • السماح ل TCP 443 من 10.10.4.0/24 إلى الهدف الخلفي 20.62.8.49
  • السماح ب TCP 80 من المصدر 10.10.4.0/24 إلى الوجهة 10.13.0.4
  • رفض كل قاعدة نسبة استخدام الشبكة

يتم تعيين أولوية لهذه القواعد من 400 و401 و4096 على التوالي.

إشعار

  • 10.10.4.0/24 هي مساحة عنوان الشبكة الفرعية لبوابة التطبيق.
  • 10.13.0.4 هو جهاز ظاهري في شبكة ظاهرية نظيرة.
  • 20.63.8.49 هو جهاز ظاهري هدف خلفي.

لإنشاء هذه القواعد:

  • تحديد قواعد الأمان الصادرة
  • حدد إضافة
  • أدخل المعلومات التالية لكل قاعدة في جزء إضافة قاعدة أمان صادرة.
  • عند إدخال المعلومات، حدد إضافة لإنشاء القاعدة.
  • يستغرق إنشاء كل قاعدة لحظة.
القاعده # المصدر عناوين IP المصدر/نطاقات CIDR نطاقات منافذ المصادر الوجهة عناوين IP الوجهة/نطاقات CIDR الخدمة نطاقات منفذ Dest البروتوكول الإجراء أولوية الاسم
1 عناوين IP 10.10.4.0/24 * عناوين IP 20.63.8.49 HTTPS 443 TCP السماح 400 AllowToBackendTarget
2 عناوين IP 10.10.4.0/24 * عناوين IP 10.13.0.4 HTTP 80 TCP السماح 401 AllowToPeeredVnetVM
3 أي * أي مخصص * أي الرفض 4096 رفض الكل

حدد تحديث لمراجعة جميع القواعد عند اكتمال التوفير.

عرض مثال لقواعد مجموعة الأمان الصادرة

إقران NSG بالشبكة الفرعية

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

إقران NSG بالشبكة الفرعية

النتيجة:

عرض نظرة عامة على NSG

هام

كن حذرا عند تعريف DenyAll rules، حيث قد ترفض عن غير قصد نسبة استخدام الشبكة الواردة من العملاء الذين تنوي السماح بالوصول إليها. قد ترفض أيضا عن غير قصد نسبة استخدام الشبكة الصادرة إلى هدف الواجهة الخلفية، ما يتسبب في فشل صحة الواجهة الخلفية وإنتاج استجابات 5XX.

التحكم في جدول التوجيه

في العرض الحالي ل Application Gateway، لا يتم دعم اقتران جدول التوجيه بقاعدة (أو إنشاء قاعدة) المعرفة على أنها 0.0.0.0/0 مع قفزة تالية كجهاز ظاهري لضمان الإدارة السليمة لبوابة التطبيق.

بعد تسجيل ميزة المعاينة العامة، أصبحت القدرة على إعادة توجيه نسبة استخدام الشبكة إلى جهاز ظاهري ممكنة الآن عبر تعريف قاعدة جدول التوجيه التي تحدد 0.0.0.0/0 مع قفزة تالية إلى الجهاز الظاهري.

لا يؤثر التوجيه القسري النفقي أو تعلم مسار 0.0.0.0/0 من خلال إعلانات BGP على صحة بوابة التطبيق، ويتم تكريمه لتدفق نسبة استخدام الشبكة. يمكن تطبيق هذا السيناريو عند استخدام VPN أو ExpressRoute أو Route Server أو Virtual WAN.

سيناريو مثال

في المثال التالي، نقوم بإنشاء جدول توجيه وربطه بالشبكة الفرعية لبوابة التطبيق لضمان خروج الوصول إلى الإنترنت الصادر من الشبكة الفرعية من جهاز ظاهري. على مستوى عال، يتم تلخيص التصميم التالي في الشكل 1:

  • بوابة التطبيق في الشبكة الظاهرية المحورية
  • يوجد جهاز ظاهري للشبكة (جهاز ظاهري) في شبكة المركز
  • يرتبط جدول التوجيه مع توجيه افتراضي (0.0.0.0/0) إلى الجهاز الظاهري بالشبكة الفرعية لبوابة التطبيق

رسم تخطيطي لجدول التوجيه على سبيل المثال

الشكل 1: خروج الوصول إلى الإنترنت من خلال الجهاز الظاهري

لإنشاء جدول توجيه وربطه بالشبكة الفرعية لبوابة التطبيق:

  1. إنشاء جدول توجيه:

عرض جدول التوجيه الذي تم إنشاؤه حديثا

  1. حدد المسارات وأنشئ قاعدة القفزة التالية ل 0.0.0.0/0 وقم بتكوين الوجهة لتكون عنوان IP للجهاز الظاهري الخاص بك:

عرض إضافة مسار افتراضي إلى الجهاز الظاهري للشبكة

  1. حدد الشبكات الفرعية وقم بربط جدول التوجيه بالشبكة الفرعية لبوابة التطبيق:

عرض ربط المسار بالشبكة الفرعية AppGW

  1. تحقق من أن حركة المرور تمر عبر الجهاز الظاهري.

القيود / المشكلات المعروفة

أثناء المعاينة العامة، تعرف القيود التالية.

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

تحديد معدل WAF

قواعد تحديد المعدل المخصصة ل Application Gateway WAF v2 غير مدعومة حاليا.

تكوين واجهة IP الأمامية الخاصة فقط مع AGIC

يجب استخدام AGIC v1.7 لتقديم الدعم ل IP الخاص بالواجهة الأمامية فقط.

اتصال نقطة النهاية الخاصة عبر نظير الشبكة الظاهرية العمومية

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

تكامل Network Watcher

الاتصال استكشاف الأخطاء وإصلاحها وتشخيصات NSG إرجاع خطأ عند تشغيل اختبارات الفحص والتشخيص.

بوابات تطبيق v2 المتعايشة التي تم إنشاؤها قبل تمكين التحكم المحسن في الشبكة

إذا كانت الشبكة الفرعية تشارك عمليات نشر Application Gateway v2 التي تم إنشاؤها قبل وبعد تمكين وظيفة التحكم المحسنة في الشبكة، فإن وظيفة مجموعة أمان الشبكة (NSG) وجدول التوجيه تقتصر على نشر البوابة السابقة. يجب إعادة توفير بوابات التطبيق التي تم توفيرها قبل تمكين الوظيفة الجديدة، أو يجب أن تستخدم البوابات التي تم إنشاؤها حديثا شبكة فرعية مختلفة لتمكين مجموعة أمان الشبكة المحسنة وميزات جدول التوجيه.

  • إذا كانت البوابة المنشورة قبل تمكين الوظيفة الجديدة موجودة في الشبكة الفرعية، فقد ترى أخطاء مثل: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' عند إضافة إدخالات جدول التوجيه.
  • عند إضافة قواعد مجموعة أمان الشبكة إلى الشبكة الفرعية، قد ترى: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

حالة صحة الواجهة الخلفية غير معروفة

إذا كانت صحة الواجهة الخلفية غير معروفة، فقد ترى الخطأ التالي:

  • تعذر استرداد الحالة الصحية الخلفية. يحدث هذا عندما يقوم NSG/UDR/Firewall على الشبكة الفرعية لبوابة التطبيق بحظر حركة المرور على المنافذ 65503-65534 إذا كان هناك v1 SKU، والمنافذ 65200-65535 إذا كان هناك v2 SKU أو إذا تعذر حل FQDN الذي تم تكوينه في تجمع الخلفية إلى عنوان IP. لمعرفة المزيد بادِر بزيارة - https://aka.ms/UnknownBackendHealth.

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

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