Dela via


Inaktivera grundläggande autentisering i Azure App Service-distributioner

I den här artikeln beskrivs hur du inaktiverar grundläggande autentisering med användarnamn och lösenord för att distribuera kod till Azure App Service-appar. Artikeln beskriver flera sätt att inaktivera grundläggande autentisering, eventuella återställningsmetoder och hur du övervakar grundläggande åtkomstförsök för autentisering.

App Service tillhandahåller grundläggande autentisering för FTP- och Web Deploy-klienter för att ansluta med användarnamns- och lösenordsinloggning. Api:er för grundläggande autentisering är bra för att bläddra i webbplatsens filsystem, ladda upp drivrutiner och verktyg och distribuera med MSBuild. Mer information finns i Konfigurera autentiseringsuppgifter för distribution för Azure App Service.

Företag kräver ofta säkrare distributionsmetoder än grundläggande autentisering, till exempel Microsoft Entra-ID. Microsoft Entra OAuth 2.0-åtkomsttoken har en begränsad användbar livslängd, är specifika för de program och resurser som de har utfärdats för och kan inte återanvändas. OAuth-tokenbaserad auktorisering hjälper till att minimera många problem med grundläggande autentisering.

Med Microsoft Entra kan du även distribuera från andra Azure-tjänster med hjälp av hanterade identiteter. Mer information finns i Autentiseringstyper efter distributionsmetod i Azure App Service.

Förutsättningar

  • Om du vill inaktivera grundläggande autentisering för FTP-åtkomst till en app måste du ha åtkomst på ägarnivå till appen.
  • Om du vill skapa och tilldela en roll för att förhindra att användare med lägre privilegier aktiverar grundläggande autentisering måste du ha behörighet som ägare eller administratör för användaråtkomst i prenumerationen.

Inaktivera grundläggande autentisering

För FTP-distribution styrs grundläggande autentisering av basicPublishingCredentialsPolicies/ftp flaggan eller alternativet FTP Basic Auth Publishing Credentials Portal.

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 eller alternativet SCM Basic Auth Publishing Credentials Portal.

Anmärkning

Grundläggande SCM-autentisering krävs för att aktivera grundläggande FTP-autentisering.

Så här inaktiverar du grundläggande autentisering:

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

  2. På appens vänstra navigeringsmeny väljer du Konfiguration>Allmänna inställningar.

  3. Välj Av för SCM grundläggande autentiseringsuppgifter för publicering eller FTP grundläggande autentiseringsuppgifter för publicering, eller båda, och välj sedan Spara.

    Skärmbild som visar hur du inaktiverar grundläggande autentisering för Azure App Service i Azure-portalen.

Försök att ansluta till appen med FTP/FTPS för att bekräfta att FTP-åtkomsten är blockerad. Du bör få ett 401-oautentiserat meddelande.

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

Distribuera utan grundläggande autentisering

När du inaktiverar grundläggande autentisering fungerar inte längre distributionsmetoder som är beroende av grundläggande autentisering. Vissa distributionsmetoder har mekanismer för återställningsdistribution.

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

Distributionsmetod När grundläggande autentisering är inaktiverad
Visual Studio-distribuering Distribution med Microsoft Entra-autentisering kräver Visual Studio 2022 version 17.12 eller senare.
FTP Det fungerar inte.
Lokal Git Det fungerar inte.
Azure CLI (kommandoradsgränssnittet för Azure) 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 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 Actions Befintliga GitHub Actions-arbetsflöden som använder grundläggande autentisering fungerar inte. Koppla från den befintliga GitHub-konfigurationen och skapa en ny GitHub Actions-konfiguration som använder användartilldelad identitet.
Om den befintliga GitHub Actions-distributionen är manuellt konfigurerad kan du prova att använda tjänstens huvudnamn eller OpenID Connect i stället.
För nya GitHub Actions-arbetsflöden använder du alternativet Användartilldelad identitet .
GitHub med App Service-byggtjänsten Det fungerar inte.
Driftsättning från portalens skapelseguide Om du väljer en kontinuerlig distributionskälla när Grundläggande autentisering är inställd på Inaktivera konfigureras GitHub Actions med det användartilldelade identitetsalternativet (OpenID Connect).
Bitbucket Det fungerar inte.
Azure-lagringsplatser med App Service-byggtjänsten Det fungerar inte.
Azure Repos med Azure Pipelines Fungerar.
Azure Pipelines med AzureWebApp uppgift Fungerar.

Skapa en anpassad roll för att förhindra att grundläggande autentisering aktiveras

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

  1. I Azure-portalen väljer du den prenumeration där du vill skapa den anpassade rollen.

  2. På den vänstra navigeringsmenyn väljer du Åtkomstkontroll (IAM)>Lägg till>anpassad roll.

  3. På sidan Skapa en anpassad roll ger du rollen ett namn och väljer sedan Nästa.

  4. På fliken Behörigheter väljer du Exkludera behörigheter.

  5. Sök och välj Microsoft Web Apps.

  6. Sök efter och expandera microsoft.web/sites/basicPublishingCredentialsPolicies.

  7. Markera rutan för Skriv och välj sedan Lägg till. Det här steget lägger till åtgärden i NotActions för rollen.

  8. Välj Exkludera behörigheter igen.

  9. Sök efter och expandera microsoft.web/sites/slots/basicPublishingCredentialsPolicies, välj rutan Skriv och välj sedan Lägg till.

  10. Fliken Behörigheter bör nu se ut som följande skärmbild. Välj Granska + skapaoch välj sedan Skapa.

    Skärmbild som visar utesluta Skriv för basicPublishingCredentialsPolicies.

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 misslyckade inloggningsförsök loggas till loggtypen Azure Monitor AppServiceAuditLogs. Om du vill granska försök och lyckade inloggningar på FTP och Web Deploy 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 Web Deploy. I följande exempel visas en lagringskontologg.

{
  "time": "2023-10-16T17:42:32.9322528Z",
  "ResourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 framtvinga 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. I följande lista visas inbyggda principer för granskning och reparation av grundläggande autentisering i App Service:

I följande lista visas motsvarande principer för platser: