تعطيل المصادقة الأساسية في عمليات نشر App Service

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

توفر App Service مصادقة أساسية لعملاء FTP وWebDeploy للاتصال به باستخدام بيانات اعتماد النشر. تعد واجهات برمجة التطبيقات هذه رائعة لاستعراض نظام ملفات موقعك، وتحميل برامج التشغيل والأدوات المساعدة، والنشر باستخدام MsBuild. ومع ذلك، غالبا ما تتطلب المؤسسات أساليب نشر أكثر أمانا من المصادقة الأساسية، مثل مصادقة معرف Microsoft Entra (راجع أنواع المصادقة حسب أساليب النشر في Azure App Service). يستخدم Microsoft Entra التخويل المستند إلى الرمز المميز OAuth 2.0 ولديه العديد من المزايا والتحسينات التي تساعد على التخفيف من المشكلات في المصادقة الأساسية. على سبيل المثال، الرموز المميزة للوصول إلى OAuth لها عمر محدود قابل للاستخدام، وهي خاصة بالتطبيقات والموارد التي تم إصدارها لها، لذلك لا يمكن إعادة استخدامها. يتيح لك Microsoft Entra أيضا النشر من خدمات Azure الأخرى باستخدام الهويات المدارة.

تعطيل المصادقة الأساسية

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

  • لنشر FTP، يتم التحكم في المصادقة الأساسية بواسطة العلامة basicPublishingCredentialsPolicies/ftp (خيار FTP Basic Auth Publishing Credentials في المدخل).
  • بالنسبة لأساليب النشر الأخرى التي تستخدم المصادقة الأساسية، مثل Visual Studio وGit المحلي وGitHub، يتم التحكم في المصادقة الأساسية بواسطة العلامة basicPublishingCredentialsPolicies/scm (خيار SCM Basic Auth Publishing Credentials في المدخل).
  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

  2. في القائمة اليسرى للتطبيق، قم بتحديدConfiguration>إعدادات عامة.

  3. بالنسبة إلى بيانات اعتماد نشر المصادقة الأساسية ل SCM أو بيانات اعتماد نشر المصادقة الأساسية ل FTP، حدد إيقاف التشغيل، ثم حدد حفظ.

    A screenshot showing how to disable basic authentication for Azure App Service in the Azure portal.

للتأكد من حظر الوصول إلى FTP، حاول الاتصال بتطبيقك باستخدام FTP/S. يجب أن تتلقى رسالة 401 Unauthenticted .

للتأكد من حظر الوصول إلى Git، جرب نشر Git المحلي. يجب أن تتلقى رسالة Authentication failed .

النشر بدون مصادقة أساسية

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

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

أسلوب النشر عند تعطيل المصادقة الأساسية
توزيع Visual Studio لا يعمل.
Ftp لا يعمل.
Git المحلي لا يعمل.
Azure CLI في Azure CLI 2.48.1 أو أعلى، تعود الأوامر التالية إلى مصادقة Microsoft Entra:
- az webapp up
- az webapp deploy
- az webapp deployment source config-zip
- az webapp log deployment show
- az webapp log deployment list
- az webapp log download
- az webapp log tail
- استعراض تطبيق ويب az
- az webapp create-remote-connection
- az webapp ssh
- توزيع az functionapp
- az functionapp log deployment list
- az functionapp log deployment show
- az functionapp deployment source config-zip 
المكون الإضافي ل Maven أو المكون الإضافي Gradle يعمل.
GitHub مع App Service Build Service لا يعمل.
GitHub Actions - لا يمكن مصادقة سير عمل GitHub Actions الموجود الذي يستخدم المصادقة الأساسية. في مركز النشر، اقطع اتصال تكوين GitHub الحالي وأنشئ تكوين GitHub Actions جديدا باستخدام خيار الهوية المعينة من قبل المستخدم بدلا من ذلك.
- إذا تم تكوين نشر GitHub Actions الموجود يدويا، فحاول استخدام كيان خدمة أو OpenID الاتصال بدلا من ذلك.
- لتكوين GitHub Actions الجديد في مركز النشر، استخدم خيار الهوية المعينة من قبل المستخدم.
النشر في معالج الإنشاء عند تعيين المصادقة الأساسية إلى تعطيل وتعيين النشر المستمر إلى تمكين، يتم تكوين إجراءات GitHub باستخدام خيار الهوية المعينة من قبل المستخدم (OpenID الاتصال).
Azure Repos مع App Service Build Service لا يعمل.
BitBucket لا يعمل.
Azure Pipelines مع مهمة AzureWebApp يعمل.
Azure Pipelines مع مهمة AzureRmWebAppDeployment - استخدم أحدث مهمة AzureRmWebAppDeployment للحصول على سلوك احتياطي.
- لا يعمل نوع اتصال ملف تعريف النشر (PublishProfile لأنه يستخدم المصادقة الأساسية. تغيير نوع الاتصال إلى Azure Resource Manager (AzureRM).
- على عوامل البنية الأساسية لبرنامج ربط العمليات التجارية غير التابعة ل Windows، تعمل المصادقة.
- في عوامل Windows، قد تحتاج طريقة التوزيع المستخدمة من قبل المهمة إلى تعديل. عند استخدام Web Deploy (DeploymentType: 'webDeploy') وتعطيل المصادقة الأساسية، تتم مصادقة المهمة باستخدام رمز Microsoft Entra المميز. هناك متطلبات إضافية إذا كنت لا تستخدم windows-latest العامل أو إذا كنت تستخدم وكيلا مستضافا ذاتيا. لمزيد من المعلومات، راجع لا يمكنني نشر الويب إلى Azure App Service باستخدام مصادقة Microsoft Entra من وكيل Windows الخاص بي.
- تعمل أساليب التوزيع الأخرى، مثل توزيع zip أو تشغيله من الحزمة.

إنشاء دور مخصص بدون أذونات للمصادقة الأساسية

لمنع مستخدم ذي امتيازات أقل من تمكين المصادقة الأساسية لأي تطبيق، يمكنك إنشاء دور مخصص وتعيين المستخدم للدور.

  1. في مدخل Microsoft Azure، في القائمة العلوية، ابحث عن الاشتراك الذي تريد إنشاء الدور المخصص فيه وحدده.

  2. من جزء التنقل الأيمن، حدد Access Control (IAM)>Add>Add custom role.

  3. قم بتعيين علامة التبويب Basic كما تريد، ثم حدد Next.

  4. في علامة التبويب أذونات ، حدد استبعاد الأذونات.

  5. ابحث عن Microsoft Web Apps وحددها، ثم ابحث عن العمليات التالية:

    العملية ‏‏الوصف
    microsoft.web/sites/basicPublishingCredentialsPolicies/ftp بيانات اعتماد نشر FTP لتطبيقات App Service.
    microsoft.web/sites/basicPublishingCredentialsPolicies/scm بيانات اعتماد نشر SCM لتطبيقات App Service.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp بيانات اعتماد نشر FTP لفتحات App Service.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm بيانات اعتماد نشر SCM لفتحات App Service.
  6. ضمن كل عملية من هذه العمليات، حدد مربع الكتابة، ثم حدد إضافة. تضيف هذه الخطوة العملية على أنها NotActions للدور.

    يجب أن تبدو علامة التبويب الأذونات الخاصة بك مثل لقطة الشاشة التالية:

    A screenshot showing the creation of a custom role with all basic authentication permissions excluded.

  7. حدد Review + create، ثم حدد Create.

  8. يمكنك الآن تعيين هذا الدور لمستخدمي مؤسستك.

لمزيد من المعلومات، راجع إنشاء أو تحديث أدوار Azure المخصصة باستخدام مدخل Microsoft Azure

مراقبة محاولات المصادقة الأساسية

يتم تسجيل جميع عمليات تسجيل الدخول الناجحة والمحاولة إلى نوع سجل Azure Monitor AppServiceAuditLogs . لتدقيق محاولات تسجيل الدخول الناجحة على FTP وWebDeploy، اتبع الخطوات الواردة في إرسال السجلات إلى Azure Monitor وتمكين شحن AppServiceAuditLogs نوع السجل.

للتأكد من شحن السجلات إلى الخدمة (الخدمات) المحددة، حاول تسجيل الدخول عبر FTP أو WebDeploy. يوضح المثال التالي سجل حساب التخزين.

{
  "time": "2023-10-16T17:42:32.9322528Z",
  "ResourceId": "/SUBSCRIPTIONS/EF90E930-9D7F-4A60-8A99-748E0EEA69DE/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.WEB/SITES/MY-DEMO-APP",
  "Category": "AppServiceAuditLogs",
  "OperationName": "Authorization",
  "Properties": {
    "User": "$my-demo-app",
    "UserDisplayName": "$my-demo-app",
    "UserAddress": "24.19.191.170",
    "Protocol": "FTP"
  }
}

يمكن أن يساعدك نهج Azure في فرض المعايير التنظيمية وتقييم التوافق على نطاق واسع. يمكنك استخدام نهج Azure للتدقيق لأي تطبيقات لا تزال تستخدم المصادقة الأساسية، ومعالجة أي موارد غير متوافقة. فيما يلي نهج مضمنة لتدقيق المصادقة الأساسية ومعالجتها على App Service:

فيما يلي النهج المقابلة للفتحات:

الأسئلة الشائعة

لماذا أحصل على تحذير في Visual Studio يفيد بتعطيل المصادقة الأساسية؟

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