استخدام نقاط النهاية الخاصة لتطبيق Azure على الويب

هام

تتوفر نقطة النهاية الخاصة Windows وتطبيق Linux Web App، سواء كانت حاوية أم لا، مستضافة على خطط خدمة التطبيقات هذه: أساسي، قياسي، PremiumV2، PremiumV3، IsolatedV2، وظائف Premium (يشار إليها أحيانا باسم خطة Premium المرنة).

يمكنك استخدام نقطة النهاية الخاصة لتطبيق Azure Web App للسماح للعملاء الموجودين في شبكتك الخاصة بالوصول إلى التطبيق بأمان عبر الارتباط الخاص. تستخدم نقطة النهاية الخاصة عنوان IP من مساحة عنوان Azure VNet الخاصة بك. تمر حركة مرور الشبكة بين عميل على شبكتك الخاصة وتطبيق الويب عبر VNet وارتباط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض من الإنترنت العام.

يتيح لك استخدام نقطة النهاية الخاصة لتطبيق الويب الخاص بك ما يلي:

  • قم بتأمين تطبيق الويب الخاص بك عن طريق تكوين نقطة النهاية الخاصة ، مما يلغي التعرض العام.
  • اتصل بأمان بتطبيق الويب من الشبكات المحلية التي تتصل ب VNet باستخدام VPN أو نظير خاص ب ExpressRoute.
  • تجنب أي استخراج للبيانات من VNet الخاص بك.

إذا كنت بحاجة فقط إلى اتصال آمن بين VNet وتطبيق الويب الخاص بك ، فإن نقطة نهاية الخدمة هي أبسط حل. إذا كنت بحاجة أيضا إلى الوصول إلى تطبيق الويب من الموقع المحلي من خلال بوابة Azure أو VNet نظير إقليمي أو VNet نظير عالمي، فإن Private Endpoint هو الحل.

لمزيد من المعلومات، راجع نقاط نهاية الخدمة.

نظرة عامة منطقية

نقطة النهاية الخاصة هي واجهة شبكة خاصة (NIC) لتطبيق ويب Azure الخاص بك في شبكة فرعية في الشبكة الظاهرية (VNet). عند إنشاء نقطة نهاية خاصة لتطبيق الويب الخاص بك، فإنها توفر اتصالا آمنا بين العملاء على شبكتك الخاصة وتطبيق الويب الخاص بك. يتم تعيين عنوان IP لنقطة النهاية الخاصة من نطاق عنوان IP الخاص ب VNet. يستخدم الاتصال بين نقطة النهاية الخاصة وتطبيق الويب ارتباطا خاصا آمنا. يتم استخدام نقطة النهاية الخاصة فقط للتدفقات الواردة إلى تطبيق الويب الخاص بك. لن تستخدم عمليات النقل الصادرة نقطة النهاية الخاصة هذه. يمكنك حقن التدفقات الصادرة إلى شبكتك في شبكة فرعية مختلفة من خلال ميزة تكامل VNet.

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

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

ملاحظة

لا يمكن لميزة تكامل VNet استخدام نفس الشبكة الفرعية مثل نقطة النهاية الخاصة ، وهذا قيد على ميزة تكامل VNet.

من منظور أمني:

  • بشكل افتراضي، عند تمكين نقاط النهاية الخاصة إلى تطبيق الويب الخاص بك، يمكنك تعطيل كل الوصول العام.
  • يمكنك تمكين نقاط نهاية خاصة متعددة في شبكات VNets وشبكات فرعية أخرى، بما في ذلك نقاط النهاية الخاصة في مناطق أخرى.
  • يجب أن يكون عنوان IP الخاص ب NIC الخاص بنقطة النهاية ديناميكيا، ولكنه سيظل كما هو حتى تقوم بحذف نقطة النهاية الخاصة.
  • لا يمكن أن يكون ل NIC الخاص بنقطة النهاية الخاصة ارتباط NSG.
  • يمكن أن يكون للشبكة الفرعية التي تستضيف نقطة النهاية الخاصة NSG مقترنة، ولكن يجب تعطيل فرض نهج الشبكة لنقطة النهاية الخاصة: راجع تعطيل نهج الشبكة لنقاط النهاية الخاصة. ونتيجة لذلك، لا يمكنك تصفية الوصول إلى نقطة النهاية الخاصة بك بواسطة أي مجموعة موردي وطنية.
  • بشكل افتراضي، عند تمكين نقطة النهاية الخاصة إلى تطبيق الويب الخاص بك، لا يتم تقييم تكوين قيود الوصول لتطبيق الويب.
  • يمكنك القضاء على خطر استخراج البيانات من VNet عن طريق إزالة كافة قواعد NSG حيث تكون الوجهة هي علامة الإنترنت أو خدمات Azure. عند نشر نقطة نهاية خاصة لتطبيق ويب، يمكنك الوصول إلى تطبيق الويب المحدد هذا فقط من خلال نقطة النهاية الخاصة. إذا كان لديك تطبيق ويب آخر، فيجب عليك نشر نقطة نهاية خاصة مخصصة أخرى لتطبيق الويب الآخر هذا.

في سجلات WEB HTTP الخاصة بتطبيق الويب الخاص بك، ستجد عنوان IP لمصدر العميل. يتم تنفيذ هذه الميزة باستخدام بروتوكول وكيل TCP، وإعادة توجيه خاصية IP العميل حتى تطبيق ويب. لمزيد من المعلومات، راجع الحصول على معلومات الاتصال باستخدام TCP Proxy v2.

Web App Private Endpoint global overview

DNS

عند استخدام نقطة النهاية الخاصة لتطبيق الويب، يجب أن يتطابق عنوان URL المطلوب مع اسم تطبيق الويب الخاص بك. بشكل افتراضي mywebappname.azurewebsites.net.

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

الاسم النوع القيمة
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 40.122.110.154

عند نشر نقطة نهاية خاصة، نقوم بتحديث إدخال DNS للإشارة إلى الاسم الأساسي mywebapp.privatelink.azurewebsites.net. على سبيل المثال، سيكون حل الاسم:

الاسم النوع القيمة ملاحظة
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 40.122.110.154 <--عنوان IP العام هذا ليس نقطة النهاية الخاصة بك ، ستتلقى خطأ 403

يجب إعداد خادم DNS خاص أو منطقة Azure DNS خاصة، لإجراء الاختبارات يمكنك تعديل إدخال المضيف لجهاز الاختبار الخاص بك. منطقة DNS التي تحتاج إلى إنشائها هي: privatelink.azurewebsites.net. قم بتسجيل سجل تطبيق الويب الخاص بك باستخدام سجل A وعنوان IP الخاص بنقطة النهاية. على سبيل المثال، سيكون حل الاسم:

الاسم النوع القيمة ملاحظة
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure ينشئ هذا الإدخال في Azure Public DNS لتوجيه خدمة التطبيق إلى الرابط الخاص ويتم إدارة ذلك من قبلنا
mywebapp.privatelink.azurewebsites.net A 10.10.10.8 <--يمكنك إدارة هذا الإدخال في نظام DNS الخاص بك للإشارة إلى عنوان IP الخاص بنقطة النهاية الخاصة بك

بعد تكوين DNS هذا ، يمكنك الوصول إلى تطبيق الويب الخاص بك بشكل خاص باستخدام الاسم الافتراضي mywebappname.azurewebsites.net. يجب عليك استخدام هذا الاسم، لأنه يتم إصدار الشهادة الافتراضية ل *.azurewebsites.net.

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

بالنسبة إلى وحدة تحكم Kudu أو Kudu REST API (النشر باستخدام وكلاء Azure DevOps المستضافين ذاتيا على سبيل المثال)، يجب إنشاء سجلين يشيران إلى عنوان IP الخاص بنقطة النهاية في منطقة Azure DNS الخاصة أو خادم DNS المخصص. الأول هو لتطبيق الويب الخاص بك ، والثاني هو ل SCM لتطبيق الويب الخاص بك.

الاسم النوع القيمة
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A PrivateEndpointIP

بيئة خدمة التطبيق v3 اعتبار خاص

لتمكين نقطة النهاية الخاصة للتطبيقات المستضافة في خطة IsolatedV2 (بيئة خدمة التطبيق v3)، يجب عليك تمكين دعم نقطة النهاية الخاصة على مستوى بيئة خدمة التطبيق. يمكنك تنشيط الميزة بواسطة مدخل Azure في جزء تكوين بيئة خدمة التطبيق، أو من خلال CLI التالية:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

متطلبات محددة

إذا كانت الشبكة الظاهرية في اشتراك مختلف عن التطبيق، فيجب عليك التأكد من تسجيل الاشتراك مع الشبكة الظاهرية لموفر موارد Microsoft.Web. يمكنك تسجيل الموفر بشكل صريح باتباع هذه الوثائق، ولكن سيتم تسجيله تلقائيا عند إنشاء أول تطبيق ويب في اشتراك.

التسعير

للحصول على تفاصيل التسعير، راجع تسعير Azure Private Link.

التقييدات

  • عند استخدام Azure Function في Elastic Premium Plan مع نقطة النهاية الخاصة، لتشغيل الدالة أو تنفيذها في مدخل Azure على ويب، يجب أن يكون لديك وصول مباشر إلى الشبكة وإلا ستتلقى خطأ HTTP 403. بمعنى آخر، يجب أن يكون المستعرض الخاص بك قادرا على الوصول إلى نقطة النهاية الخاصة لتنفيذ الوظيفة من مدخل Azure على الويب.
  • يمكنك توصيل ما يصل إلى 100 نقطة نهاية خاصة بتطبيق ويب معين.
  • لا تتوفر وظيفة تصحيح الأخطاء عن بعد عند تمكين نقطة النهاية الخاصة لتطبيق الويب. التوصية هي نشر التعليمات البرمجية إلى فتحة وتصحيحها عن بعد هناك.
  • يتم توفير الوصول إلى FTP من خلال عنوان IP العام الوارد. لا تدعم نقطة النهاية الخاصة وصول FTP إلى تطبيق الويب.
  • IP-Based طبقة المقابس الآمنة غير مدعومة بنقاط النهاية الخاصة.

نحن نعمل على تحسين ميزة الرابط الخاص ونقطة النهاية الخاصة بانتظام، راجع هذه المقالة للحصول على معلومات محدثة حول القيود.

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