مشاركة عبر


استخدام نقاط النهاية الخاصة لتطبيقات App Service

إشعار

بدءا من 1 يونيو 2024، يمكن لتطبيقات App Service التي تم إنشاؤها حديثا إنشاء اسم مضيف افتراضي فريد يستخدم اصطلاح <app-name>-<random-hash>.<region>.azurewebsites.netالتسمية . تظل أسماء التطبيقات الحالية دون تغيير. على سبيل المثال:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

لمزيد من المعلومات، راجع اسم المضيف الافتراضي الفريد لمورد App Service.

هام

تتوفر نقاط النهاية الخاصة لتطبيقات Windows وLinux، في حاويات أم لا، مستضافة على خطط App Service هذه: Basic، Standard، PremiumV2، PremiumV3، IsolatedV2، Functions Premium (تسمى أحيانا خطة Elastic Premium).

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

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

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

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

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

يتم تكوين كل فتحة من التطبيق بشكل منفصل. يمكنك استخدام ما يصل إلى 100 نقطة نهاية خاصة لكل فتحة. لا يمكنك مشاركة نقطة نهاية خاصة بين الفتحات. اسم المورد الفرعي للفتحة هو sites-<slot-name>.

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

إشعار

لا يمكن لميزة تكامل الشبكة الظاهرية استخدام نفس الشبكة الفرعية مثل نقطة النهاية الخاصة.

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

  • يمكن أن تتعايش نقطة النهاية الخاصة والوصول العام على أحد التطبيقات. لمزيد من المعلومات، راجع هذه النظرة العامة على قيود الوصول.
  • لضمان العزل، عند تمكين نقاط النهاية الخاصة لتطبيقك، تأكد من تعطيل الوصول إلى الشبكة العامة.
  • يمكنك تمكين نقاط نهاية خاصة متعددة في شبكات ظاهرية وشبكات فرعية أخرى، بما في ذلك الشبكة الظاهرية في مناطق أخرى.
  • لا يتم تقييم قواعد قيود الوصول لتطبيقك لحركة المرور من خلال نقطة النهاية الخاصة.
  • يمكنك إزالة مخاطر النقل غير المصرح للبيانات من الشبكة الظاهرية عن طريق إزالة جميع قواعد مجموعة أمان الشبكة (NSG) حيث تكون الوجهة علامة على الإنترنت أو خدمات Azure.

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

يظهر الرسم التخطيطي نظرة عامة عامة على نقطة النهاية العامة لتطبيق App Service.

DNS

عند استخدام نقطة نهاية خاصة لتطبيقات App Service، يجب أن يتطابق عنوان URL المطلوب مع اسم تطبيقك. بشكل افتراضي، <app-name>.azurewebsites.net. عند استخدام اسم مضيف افتراضي فريد، يكون اسم التطبيق الخاص بك بالتنسيق <app-name>-<random-hash>.<region>.azurewebsites.net. في الأمثلة التالية، يمكن أن يمثل mywebapp أيضا اسم المضيف الفريد الإقليمي الكامل.

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

Name نوع القيمة‬
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net ش 192.0.2.13

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

Name نوع القيمة‬ ملاحظة
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 ش 192.0.2.13 <--عنوان IP العام هذا ليس نقطة النهاية الخاصة بك، تتلقى خطأ 403

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

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

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

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

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

Name نوع القيمة‬
mywebapp.privatelink.azurewebsites.net ش PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net ش PrivateEndpointIP

مراعاة خاصة للإصدار الثالث من بيئة خدمة التطبيقات

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

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

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

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

التسعير

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

القيود

  • عند استخدام Azure Function في خطة Elastic Premium مع نقطة نهاية خاصة، لتشغيل الوظيفة في مدخل Microsoft Azure، يجب أن يكون لديك وصول مباشر إلى الشبكة. وإلا، تتلقى خطأ HTTP 403. يجب أن يكون المستعرض قادرا على الوصول إلى نقطة النهاية الخاصة لتشغيل الدالة من مدخل Microsoft Azure.
  • يمكنك توصيل ما يصل إلى 100 نقطة نهاية خاصة بتطبيق معين.
  • لا تتوفر وظيفة تصحيح الأخطاء عن بعد من خلال نقطة النهاية الخاصة. نوصي بنشر التعليمات البرمجية إلى فتحة وتصحيحها عن بعد هناك.
  • يتم توفير الوصول إلى FTP من خلال عنوان IP العام الوارد. لا تدعم نقطة النهاية الخاصة وصول FTP إلى التطبيق.
  • TLS المستندة إلى IP غير مدعومة بنقاط النهاية الخاصة.
  • لا يمكن للتطبيقات التي تقوم بتكوينها باستخدام نقاط النهاية الخاصة تلقي نسبة استخدام الشبكة العامة التي تأتي من الشبكات الفرعية مع Microsoft.Web تمكين نقطة نهاية الخدمة ولا يمكنها استخدام قواعد تقييد الوصول المستندة إلى نقطة نهاية الخدمة.
  • يجب أن تتبع تسمية نقطة النهاية الخاصة القواعد المعرفة للموارد من النوع Microsoft.Network/privateEndpoints. لمزيد من المعلومات، اطلع على قواعد التسمية والقيود.

للحصول على معلومات محدثة حول القيود، راجع القيود.