قيود الوصول إلى Azure App Service

تعد قيود الوصول في خدمة التطبيق مكافئة لجدار حماية يسمح لك بحظر نسبة استخدام الشبكة وتصفيتها. تنطبق قيود الوصول على الوصول الوارد فقط. تتمتع معظم مستويات تسعير App Service أيضا بالقدرة على إضافة نقاط نهاية خاصة إلى التطبيق، وهي نقطة إدخال أخرى للتطبيق. لا تنطبق قيود الوصول على نسبة استخدام الشبكة التي تدخل من خلال نقطة نهاية خاصة. بالنسبة لجميع التطبيقات المستضافة على خدمة التطبيق، تتوفر نقطة الإدخال الافتراضية بشكل عام. الاستثناء الوحيد هو التطبيقات المستضافة في بيئة خدمة تطبيق ILB حيث تكون نقطة الإدخال الافتراضية داخلية في الشبكة الظاهرية.

كيفية عمله

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

إذا قمت بإرسال نسبة استخدام الشبكة عبر نقطة النهاية الافتراضية (غالبا ما تكون نقطة نهاية عامة)، يتم تقييم نسبة استخدام الشبكة أولا على مستوى الوصول إلى التطبيق. يمكنك هنا إما تمكين الوصول أو تعطيله. إذا قمت بتمكين الوصول إلى التطبيق، يتم تقييم نسبة استخدام الشبكة على مستوى الوصول إلى الموقع. بالنسبة لأي تطبيق، لديك كل من الموقع الرئيسي وموقع الأدوات المتقدمة (المعروف أيضا باسم موقع scm أو kudu).

لديك خيار تكوين مجموعة من قواعد تقييد الوصول لكل موقع. يتم تقييم قواعد تقييد الوصول بترتيب الأولوية. إذا كانت بعض القواعد لها نفس الأولوية، يتم تقييمها بالترتيب الذي يتم سردها به عند إرجاعها من واجهة برمجة تطبيقات Azure Resource Manager وفي مدخل Microsoft Azure قبل الفرز. يمكنك أيضًا تحديد السلوك إذا لم تتم مطابقة أي قواعد. تنتقل الأقسام التالية إلى التفاصيل.

Diagram of access restrictions high-level flow.

الوصول إلى التطبيقات

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

Screenshot of app access option in Azure portal.

في واجهة برمجة تطبيقات Azure Resource Manager، يسمى publicNetworkAccessالوصول إلى التطبيق . بالنسبة لبيئة خدمة تطبيق ILB، تكون نقطة الإدخال الافتراضية للتطبيقات داخلية دائما للشبكة الظاهرية. لا يمنح تمكين الوصول إلى التطبيق (publicNetworkAccess) الوصول العام المباشر إلى التطبيقات؛ بدلا من ذلك، يسمح بالوصول من نقطة الإدخال الافتراضية، والتي تتوافق مع عنوان IP الداخلي لبيئة خدمة التطبيقات. إذا قمت بتعطيل الوصول إلى التطبيق على بيئة خدمة تطبيق ILB، يمكنك فقط الوصول إلى التطبيقات من خلال نقاط النهاية الخاصة المضافة إلى التطبيقات الفردية.

الوصول إلى الموقع

تتيح لك قيود الوصول إلى الموقع تصفية الطلبات الواردة. وتتيح لك قيود الوصول إلى الموقع إنشاء قائمة السماح ورفض القواعد التي يتم تقييمها بترتيب الأولوية. وهي مشابهة لميزة مجموعة أمان الشبكة (NSG) في شبكة Azure.

Screenshot of site access options in Azure portal.

يحتوي تقييد الوصول إلى الموقع على عدة أنواع من القواعد التي يمكنك تطبيقها:

قاعدة غير متطابقة

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

قواعد تقييد الوصول المعتمدة على IP

تساعد ميزة قيود الوصول المعتمدة علي IP عندما تريد تقييد عناوين IP التي يمكن استخدامها للوصول إلى التطبيق. دعم كل من IPv4 وIPv6. بعض الحالات المستخدمة لهذه الميزة:

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

لمعرفة كيفية تمكين الميزة، راجع تكوين قيود الوصول.

إشعار

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

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

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

إشعار

قواعد تقييد الوصول المستندة إلى نقاط نهاية الخدمة غير مدعومة على التطبيقات التي تم تكوين نقطة نهاية خاصة بها أو التطبيقات التي تستخدم SSL المستندة إلى IP (العنوان المعين من قبل التطبيق).

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

أي مصدر نقطة تقديم الخدمة

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

قواعد التقييد الخاصة بالوصول استنادًا إلى علامات الخدمة

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

للحصول على قائمة كاملة بالعلامات والمزيد من المعلومات، تفضل بزيارة ارتباط علامة الخدمة.

لمعرفة كيفية تمكين الميزة، راجع تكوين قيود الوصول.

قواعد متعددة المصادر

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

يتم تعريف القواعد متعددة المصادر بنفس الطريقة التي تحدد بها القواعد أحادية المصدر، ولكن مع فصل كل نطاق بفاصلة.

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

تصفية عنوان Http لقواعد تقييد الوصول إلى الموقع

لأي قاعدة، بغض النظر عن النوع، يمكنك إضافة تصفية عنوان http. تسمح لك عوامل تصفية عناوين Http بفحص الطلب الوارد وعامل التصفية استنادًا إلى قيم عنوان http المحددة. يحتوي كل عنوان على ما يصل إلى ثماني قيم لكل قاعدة. يسرد ما يلي عناوين http المدعومة:

  • X-Forwarded-For. عنوان قياسي لتحديد عنوان IP الأصلي لعميل يتصل من خلال خادم وكيل. يقبل قيم CIDR الصالحة.
  • X-Forwarded-Host. عنوان قياسي لتحديد المضيف الأصلي المطلوب من قبل العميل. يقبل أي سلسلة يصل طولها إلى 64 حرفًا.
  • X-Azure-FDID. عنوان مخصص لتعريف مثيل الوكيل العكسي. يرسل Azure Front Door معرفا Guid يحدد المثيل، ولكن يمكن استخدامه أيضا لوكلاء غير Microsoft لتحديد المثيل المحدد. يقبل أي سلسلة يصل طولها إلى 64 حرفًا.
  • X-FD-HealthProbe. عنوان مخصص لتحديد فحص السلامة للوكيل العكسي. يرسل Azure Front Door "1" لتحديد طلب فحص السلامة بشكل فريد. يمكن أيضا استخدام العنوان للوكلاء غير التابعين ل Microsoft لتحديد فحوصات السلامة. يقبل أي سلسلة يصل طولها إلى 64 حرفًا.

بعض حالات الاستخدام لتصفية عنوان http هي:

  • تقييد الوصول إلى نسبة استخدام الشبكة من خوادم الوكيل التي إعادة توجيه اسم المضيف
  • تقييد الوصول إلى مثيل Azure Front Door محدد مع قاعدة علامة الخدمة وتقييد رأس X-Azure-FDID

التسجيلات التشخيص

يمكن ل App Service إرسال فئات تسجيل مختلفة إلى Azure Monitor. وتسمى IPSecurity Audit logs إحدى هذه الفئات وتمثل الأنشطة في قيود الوصول. يتم تسجيل جميع الطلبات التي تطابق قاعدة (باستثناء القاعدة غير المتطابقة)، كل من السماح والرفض، ويمكن استخدامها للتحقق من صحة تكوين قيود الوصول. تعد إمكانية التسجيل أيضا أداة قوية عند استكشاف أخطاء تكوين القواعد وإصلاحها.

حالات الاستخدام المتقدمة

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

حظر عنوان IP واحد

إذا كنت ترغب في رفض/حظر عنوان IP محدد واحد أو أكثر، يمكنك إضافة عناوين IP كقواعد رفض وتكوين القاعدة غير المتطابقة للسماح بنسبة استخدام الشبكة غير المتطابقة كاملة.

تقييد الوصول إلى موقع الأدوات المتقدمة

يحتوي موقع الأدوات المتقدمة، والذي يعرف أيضًا باسم scm أو kudu، على مجموعة قواعد فردية يمكنك تكوينها. يمكنك أيضًا تكوين القاعدة غير المتطابقة لهذا الموقع. يسمح لك الإعداد باستخدام القواعد التي تم تكوينها للموقع الرئيسي. لا يمكنك السماح بشكل انتقائي بالوصول إلى بعض ميزات موقع الأدوات المتقدمة. على سبيل المثال، لا يمكنك السماح بشكل انتقائي بالوصول فقط إلى وحدة تحكم إدارة WebJobs في موقع الأدوات المتقدمة.

التوزيع من خلال نقطة نهاية خاصة

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

السماح للشريك الخارجي بالوصول إلى الموقع المحمي بنقطة النهاية الخاصة

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

تقييد الوصول إلى مثيل Azure Front Door محدد

تنشأ نسبة استخدام الشبكة من Azure Front Door إلى التطبيق الخاص بك من مجموعة معروفة من نطاقات IP المحددة في AzureFrontDoor.Backend علامة الخدمة. باستخدام قاعدة تقييد علامة الخدمة، يمكنك تقييد نسبة استخدام الشبكة لتنشأ فقط من Azure Front Door. لضمان أن نسبة استخدام الشبكة تنشأ فقط من مثيلك المحدد، تحتاج إلى مزيد من تصفية الطلبات الواردة استنادا إلى عنوان http الفريد الذي يرسله Azure Front Door يسمى X-Azure-FDID. يمكنك العثور على معرّف الواجهة الأمامية في المدخل.

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

إشعار

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