Inaktivera grundläggande autentisering i App Service-distributioner

Den här artikeln visar hur du inaktiverar grundläggande autentisering (användarnamn och lösenordsautentisering) när du distribuerar kod till App Service-appar.

App Service tillhandahåller grundläggande autentisering för FTP- och WebDeploy-klienter för att ansluta till den med hjälp av autentiseringsuppgifter för distribution. Dessa API:er är bra för att bläddra i webbplatsens filsystem, ladda upp drivrutiner och verktyg och distribuera med MsBuild. Företag kräver dock ofta säkrare distributionsmetoder än grundläggande autentisering, till exempel Microsoft Entra-ID-autentisering (se Autentiseringstyper efter distributionsmetoder i Azure App Service). Microsoft Entra använder OAuth 2.0-tokenbaserad auktorisering och har många fördelar och förbättringar som hjälper dig att åtgärda problemen med grundläggande autentisering. Till exempel har OAuth-åtkomsttoken en begränsad användbar livslängd och är specifika för de program och resurser som de har utfärdats för, så att de inte kan återanvändas. Med Microsoft Entra kan du även distribuera från andra Azure-tjänster med hanterade identiteter.

Inaktivera grundläggande autentisering

Det finns två olika kontroller för grundläggande autentisering. Specifikt:

  • För FTP-distribution styrs grundläggande autentisering av basicPublishingCredentialsPolicies/ftp flaggan (alternativet Ftp Basic Auth Publishing Credentials i portalen).
  • För andra distributionsmetoder som använder grundläggande autentisering, till exempel Visual Studio, lokal Git och GitHub, styrs grundläggande autentisering av basicPublishingCredentialsPolicies/scm flaggan (alternativet SCM Basic Auth Publishing Credentials i portalen).
  1. I Azure-portalen söker du efter och väljer App Services och väljer sedan din app.

  2. I appens vänstra meny väljer du Konfiguration>Allmänna inställningar.

  3. För SCM Basic Auth Publishing Credentials eller FTP Basic Auth Publishing Credentials (Grundläggande autentiseringsuppgifter för autentiseringsuppgifter för autentisering av autentiseringsuppgifter för autentisering med grundläggande autentiseringsuppgifter för autentisering av autentiseringsuppgifter för FTP-autentisering) väljer du Av och väljer sedan Spara.

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

Om du vill bekräfta att FTP-åtkomsten är blockerad kan du prova att ansluta till din app med FTP/S. Du bör få ett 401 Unauthenticted meddelande.

Om du vill bekräfta att Git-åtkomsten är blockerad kan du prova lokal Git-distribution. Du bör få ett Authentication failed meddelande.

Distribution utan grundläggande autentisering

När du inaktiverar grundläggande autentisering slutar distributionsmetoder som är beroende av grundläggande autentisering att fungera.

Följande tabell visar hur olika distributionsmetoder beter sig när grundläggande autentisering är inaktiverad och om det finns någon återställningsmekanism. Mer information finns i Autentiseringstyper efter distributionsmetoder i Azure App Service.

Distributionsmetod När grundläggande autentisering är inaktiverad
Visual Studio-distribution Det fungerar inte.
FTP Det fungerar inte.
Lokal Git Det fungerar inte.
Azure CLI I Azure CLI 2.48.1 eller senare återgår följande kommandon till Microsoft Entra-autentisering:
- 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 webapp browse
- az webapp create-remote-connection
- az webapp ssh
- az functionapp deploy
- az functionapp log deployment list
- az functionapp log deployment show
- az functionapp deployment source config-zip 
Maven-plugin-program eller Gradle-plugin-program Fungerar.
GitHub med App Service Build Service Det fungerar inte.
GitHub Actions – Ett befintligt GitHub Actions-arbetsflöde som använder grundläggande autentisering kan inte autentiseras. I Distributionscenter kopplar du från den befintliga GitHub-konfigurationen och skapar en ny GitHub Actions-konfiguration med det användartilldelade identitetsalternativet i stället.
– Om den befintliga GitHub Actions-distributionen är manuellt konfigurerad kan du prova att använda tjänstens huvudnamn eller OpenID-Anslut i stället.
– Använd det användartilldelade identitetsalternativet för ny GitHub Actions-konfiguration i distributionscentret.
Distribution i guiden Skapa När Grundläggande autentisering är inställt på Inaktivera och Kontinuerlig distribution inställd på Aktivera, konfigureras GitHub Actions med det användartilldelade identitetsalternativet (OpenID Anslut).
Azure-lagringsplatser med App Service Build Service Det fungerar inte.
BitBucket Det fungerar inte.
Azure Pipelines med AzureWebApp-uppgift Fungerar.
Azure Pipelines med AzureRmWebAppDeployment-uppgift – Använd den senaste AzureRmWebAppDeployment-uppgiften för att få återställningsbeteende.
– Anslutningstypen Publicera profil (PublishProfile) fungerar inte eftersom den använder grundläggande autentisering. Ändra anslutningstypen till Azure Resource Manager (AzureRM).
– På agenter som inte är Windows Pipelines fungerar autentiseringen.
– På Windows-agenter kan distributionsmetoden som används av uppgiften behöva ändras. När Webbdistribution används (DeploymentType: 'webDeploy') och grundläggande autentisering inaktiveras autentiseras uppgiften med en Microsoft Entra-token. Det finns ytterligare krav om du inte använder agenten windows-latest eller om du använder en lokalt installerad agent. Mer information finns i Jag kan inte webbdistribuera till min Azure App Service med Microsoft Entra-autentisering från min Windows-agent.
– Andra distributionsmetoder fungerar, till exempel zip-distribution eller körning från paket.

Skapa en anpassad roll utan behörighet för grundläggande autentisering

Om du vill förhindra att en användare med lägre behörighet aktiverar grundläggande autentisering för alla appar kan du skapa en anpassad roll och tilldela användaren rollen.

  1. I Azure-portalen går du till den översta menyn och söker efter och väljer den prenumeration som du vill skapa den anpassade rollen i.

  2. I det vänstra navigeringsfältet väljer du Åtkomstkontroll (IAM)>Lägg till>anpassad roll.

  3. Ange fliken Grundläggande som du vill och välj sedan Nästa.

  4. På fliken Behörigheter och välj Exkludera behörigheter.

  5. Leta upp och välj Microsoft Web Apps och sök sedan efter följande åtgärder:

    Operation beskrivning
    microsoft.web/sites/basicPublishingCredentialsPolicies/ftp FTP-publiceringsautentiseringsuppgifter för App Service-appar.
    microsoft.web/sites/basicPublishingCredentialsPolicies/scm SCM-publiceringsautentiseringsuppgifter för App Service-appar.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp FTP-publiceringsuppgifter för App Service-platser.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm SCM-publiceringsuppgifter för App Service-platser.
  6. Under var och en av dessa åtgärder väljer du rutan för Skriv och väljer sedan Lägg till. Det här steget lägger till åtgärden som NotActions för rollen.

    Fliken Behörigheter bör se ut som på följande skärmbild:

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

  7. Välj Granska + skapa och välj sedan Skapa.

  8. Nu kan du tilldela den här rollen till organisationens användare.

Mer information finns i Skapa eller uppdatera anpassade Azure-roller med hjälp av Azure-portalen

Övervaka grundläggande autentiseringsförsök

Alla lyckade och försök till inloggningar loggas till Loggtypen Azure Monitor AppServiceAuditLogs . Om du vill granska försök och lyckade inloggningar på FTP och WebDeploy följer du stegen i Skicka loggar till Azure Monitor och aktiverar leverans av AppServiceAuditLogs loggtypen.

Om du vill bekräfta att loggarna levereras till dina valda tjänster kan du prova att logga in via FTP eller WebDeploy. I följande exempel visas en lagringskontologg.

{
  "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 Policy kan hjälpa dig att tillämpa organisationsstandarder och utvärdera efterlevnad i stor skala. Du kan använda Azure Policy för att granska alla appar som fortfarande använder grundläggande autentisering och åtgärda icke-kompatibla resurser. Följande är inbyggda principer för granskning och reparation av grundläggande autentisering i App Service:

Följande är motsvarande principer för fack:

Vanliga frågor och svar

Varför får jag en varning i Visual Studio om att grundläggande autentisering är inaktiverad?

Visual Studio kräver grundläggande autentisering för att distribuera till Azure App Service. Varningen påminner dig om att konfigurationen i din app har ändrats och att du inte längre kan distribuera till den. Antingen har du inaktiverat grundläggande autentisering i appen själv eller så tillämpar din organisationsprincip att grundläggande autentisering är inaktiverad för App Service-appar.