Basisverificatie uitschakelen in App Service-implementaties

In dit artikel leest u hoe u basisverificatie (gebruikersnaam en wachtwoordverificatie) uitschakelt bij het implementeren van code in App Service-apps.

App Service biedt basisverificatie voor FTP- en WebDeploy-clients om er verbinding mee te maken met behulp van implementatiereferenties. Deze API's zijn ideaal om door het bestandssysteem van uw site te bladeren, stuurprogramma's en hulpprogramma's te uploaden en te implementeren met MsBuild. Ondernemingen vereisen echter vaak veiligere implementatiemethoden dan basisverificatie, zoals Microsoft Entra ID-verificatie (zie verificatietypen per implementatiemethode in Azure-app Service). Microsoft Entra maakt gebruik van autorisatie op basis van OAuth 2.0-tokens en heeft veel voordelen en verbeteringen waarmee u de problemen in basisverificatie kunt verhelpen. OAuth-toegangstokens hebben bijvoorbeeld een beperkte levensduur en zijn specifiek voor de toepassingen en resources waarvoor ze worden uitgegeven, zodat ze niet opnieuw kunnen worden gebruikt. Met Microsoft Entra kunt u ook implementeren vanuit andere Azure-services met behulp van beheerde identiteiten.

Basisverificatie uitschakelen

Er zijn twee verschillende besturingselementen voor basisverificatie beschikbaar. Specifiek:

  • Voor FTP-implementatie wordt basisverificatie beheerd door de basicPublishingCredentialsPolicies/ftp vlag (optie FTP Basic Auth Publishing Credentials in de portal).
  • Voor andere implementatiemethoden die gebruikmaken van basisverificatie, zoals Visual Studio, lokale Git en GitHub, wordt basisverificatie beheerd door de basicPublishingCredentialsPolicies/scm vlag (SCM Basic Auth Publishing Credentials option in de portal).
  1. Zoek en selecteer App Services in Azure Portal en selecteer vervolgens uw app.

  2. Selecteer in het linkermenu van de app configuratie-algemene>instellingen.

  3. Voor SCM Basic Auth Publishing Credentials of FTP Basic Auth Publishing Credentials selecteert u Uit en selecteert u Opslaan.

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

Als u wilt controleren of FTP-toegang is geblokkeerd, probeert u verbinding te maken met uw app via FTP/S. U zou een 401 Unauthenticted bericht moeten ontvangen.

Probeer de lokale Git-implementatie om te bevestigen dat git-toegang is geblokkeerd. U moet een Authentication failed bericht ontvangen.

Implementatie zonder basisverificatie

Wanneer u basisverificatie uitschakelt, werken implementatiemethoden die afhankelijk zijn van basisverificatie niet meer.

In de volgende tabel ziet u hoe verschillende implementatiemethoden zich gedragen wanneer basisverificatie is uitgeschakeld en of er een terugvalmechanisme is. Zie Verificatietypen per implementatiemethode in Azure-app Service voor meer informatie.

Implementatiemethode Wanneer basisverificatie is uitgeschakeld
Visual Studio-implementatie Werkt.
FTP Werkt.
Lokale Git Werkt.
Azure CLI In Azure CLI 2.48.1 of hoger vallen de volgende opdrachten terug op Microsoft Entra-verificatie:
- 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-invoegtoepassing of Gradle-invoegtoepassing Werkt.
GitHub met App Service Build Service Werkt.
GitHub Actions - Een bestaande GitHub Actions-werkstroom die gebruikmaakt van basisverificatie kan niet worden geverifieerd. Koppel in het Implementatiecentrum de bestaande GitHub-configuratie los en maak in plaats daarvan een nieuwe GitHub Actions-configuratie met de door de gebruiker toegewezen identiteitsoptie .
- Als de bestaande Implementatie van GitHub Actions handmatig is geconfigureerd, kunt u in plaats daarvan een service-principal of OpenID-Verbinding maken gebruiken.
- Gebruik voor de nieuwe Configuratie van GitHub Actions in het Implementatiecentrum de door de gebruiker toegewezen identiteitsoptie .
Implementatie in wizard Maken Wanneer basisverificatie is ingesteld op Uitschakelen en Continue implementatie ingesteld op Inschakelen, wordt GitHub Actions geconfigureerd met de door de gebruiker toegewezen identiteitsoptie (OpenID Verbinding maken).
Azure-opslagplaatsen met App Service Build Service Werkt.
BitBucket Werkt.
Azure Pipelines met AzureWebApp-taak Werkt.
Azure Pipelines met azureRmWebAppDeployment-taak - Gebruik de nieuwste AzureRmWebAppDeployment-taak om terugvalgedrag op te halen.
- Het verbindingstype Publish Profile (PublishProfile) werkt niet, omdat hiervoor basisverificatie wordt gebruikt. Wijzig het verbindingstype in Azure Resource Manager (AzureRM).
- Bij niet-Windows Pipelines-agents werkt verificatie.
- Op Windows-agents moet de implementatiemethode die door de taak wordt gebruikt, mogelijk worden gewijzigd. Wanneer Web Deploy wordt gebruikt (DeploymentType: 'webDeploy') en basisverificatie is uitgeschakeld, wordt de taak geverifieerd met een Microsoft Entra-token. Er zijn aanvullende vereisten als u de windows-latest agent niet gebruikt of als u een zelf-hostende agent gebruikt. Zie voor meer informatie, zie ik kan Web Deploy niet naar mijn Azure-app-service met behulp van Microsoft Entra-verificatie van mijn Windows-agent.
- Andere implementatiemethoden werken, zoals zip deploy of run from package.

Een aangepaste rol maken zonder machtigingen voor basisverificatie

Als u wilt voorkomen dat een gebruiker met lagere machtigingen basisverificatie voor elke app inschakelt, kunt u een aangepaste rol maken en de gebruiker toewijzen aan de rol.

  1. Zoek en selecteer in azure Portal in het bovenste menu het abonnement waarin u de aangepaste rol wilt maken.

  2. Selecteer in het linkernavigatievenster Toegangsbeheer (IAM)>Aangepaste rol toevoegen.>

  3. Stel het tabblad Basis naar wens in en selecteer vervolgens Volgende.

  4. Selecteer machtigingen uitsluiten op het tabblad Machtigingen.

  5. Zoek en selecteer Microsoft Web Apps en zoek vervolgens naar de volgende bewerkingen:

    Operation Omschrijving
    microsoft.web/sites/basicPublishingCredentialsPolicies/ftp FTP-publicatiereferenties voor App Service-apps.
    microsoft.web/sites/basicPublishingCredentialsPolicies/scm SCM-publicatiereferenties voor App Service-apps.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp FTP-publicatiereferenties voor App Service-sites.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm SCM-publicatiereferenties voor App Service-sites.
  6. Selecteer onder elk van deze bewerkingen het vak Schrijven en selecteer vervolgens Toevoegen. Met deze stap wordt de bewerking toegevoegd als NotActions voor de rol.

    Het tabblad Machtigingen moet er als volgt uitzien:

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

  7. Selecteer Controleren en maken en selecteer vervolgens Maken.

  8. U kunt deze rol nu toewijzen aan de gebruikers van uw organisatie.

Zie Aangepaste Azure-rollen maken of bijwerken met behulp van Azure Portal voor meer informatie

Controleren op basisverificatiepogingen

Alle geslaagde en geprobeerde aanmeldingen worden geregistreerd bij het Azure Monitor-logboektype AppServiceAuditLogs . Volg de stappen bij Logboeken verzenden naar Azure Monitor en het verzenden van het AppServiceAuditLogs logboektype om de geslaagde en geslaagde aanmeldingen op FTP en WebDeploy te controleren.

Probeer u aan te melden via FTP of WebDeploy om te bevestigen dat de logboeken naar uw geselecteerde service(s) worden verzonden. In het volgende voorbeeld ziet u een opslagaccountlogboek.

{
  "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"
  }
}

Met Azure Policy kunt u organisatiestandaarden afdwingen en naleving op schaal beoordelen. U kunt Azure Policy gebruiken om te controleren op alle apps die nog steeds basisverificatie gebruiken en alle niet-compatibele resources herstellen. Hieronder ziet u ingebouwde beleidsregels voor het controleren en herstellen van basisverificatie in App Service:

Hier volgen de bijbehorende beleidsregels voor sites:

Veelgestelde vragen

Waarom krijg ik een waarschuwing in Visual Studio waarin staat dat basisverificatie is uitgeschakeld?

Visual Studio vereist basisverificatie om te implementeren in Azure-app Service. De waarschuwing herinnert u eraan dat de configuratie van uw app is gewijzigd en dat u er niet meer naar kunt implementeren. U hebt basisverificatie voor de app zelf uitgeschakeld of uw organisatiebeleid dwingt af dat basisverificatie is uitgeschakeld voor App Service-apps.