Freigeben über


Deaktivieren der Standardauthentifizierung in Azure App Service-Bereitstellungen

In diesem Artikel wird erläutert, wie Sie die grundlegende Benutzernamen- und Kennwortauthentifizierung für die Bereitstellung von Code in Azure App Service-Apps deaktivieren. In diesem Artikel werden verschiedene Möglichkeiten zum Deaktivieren der Standardauthentifizierung, Fallbackbereitstellungsmethoden (falls vorhanden) und zum Überwachen von Zugriffsversuchen für die Standardauthentifizierung erläutert.

App Service bietet grundlegende Authentifizierung für FTP- und Web Deploy-Clients, damit sie mit Benutzernamen und Kennwort als Bereitstellungsanmeldeinformationen eine Verbindung herstellen können. Die Standardauthentifizierungs-APIs eignen sich gut zum Durchsuchen des Dateisystems Ihrer Website, zum Hochladen von Treibern und Dienstprogrammen und zum Bereitstellen mit MSBuild. Weitere Informationen finden Sie unter Konfigurieren von Bereitstellungsanmeldeinformationen für Azure App Service.

Unternehmen erfordern häufig sicherere Bereitstellungsmethoden als die Standardauthentifizierung, z. B. Microsoft Entra ID. Microsoft Entra OAuth 2.0-Zugriffstoken verfügen über eine begrenzte verwendbare Lebensdauer, sind spezifisch für die Anwendungen und Ressourcen, für die sie ausgegeben werden, und können nicht wiederverwendet werden. Die tokenbasierte OAuth-Autorisierung trägt dazu bei, viele Probleme mit der Standardauthentifizierung zu beheben.

Mit Microsoft Entra können Sie auch mithilfe von verwalteten Identitäten aus anderen Azure-Diensten bereitstellen. Weitere Informationen finden Sie unter Authentifizierungstypen nach Bereitstellungsmethode in Azure App Service.

Voraussetzungen

  • Um die Standardauthentifizierung für den FTP-Zugriff auf eine App zu deaktivieren, müssen Sie über Zugriff auf Besitzerebene auf die App verfügen.
  • Um eine Rolle zu erstellen und zuzuweisen, um zu verhindern, dass Benutzer mit niedrigeren Rechten die grundlegende Authentifizierung aktivieren, müssen Sie über Berechtigungen für 'Besitzer' oder Benutzerzugriffsadministratorrechte im Abonnement verfügen.

Deaktivieren der Standardauthentifizierung

Bei der FTP-Bereitstellung wird die Standardauthentifizierung durch die basicPublishingCredentialsPolicies/ftp Kennzeichnung oder die FTP Basic Auth Publishing Credentials-Portaloption gesteuert.

Bei anderen Bereitstellungsmethoden, welche die Standardauthentifizierung verwenden, z. B. Visual Studio, lokales Git und GitHub, wird die Standardauthentifizierung durch das basicPublishingCredentialsPolicies/scm-Flag oder die Portaloption Veröffentlichungsanmeldeinformationen für die SCM-Standardauthentifizierung gesteuert.

Hinweis

Die SCM-Standardauthentifizierung ist erforderlich, um die FTP-Standardauthentifizierung zu aktivieren.

So deaktivieren Sie die Standardauthentifizierung:

  1. Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.

  2. Wählen Sie im linken Navigationsmenü der App die Option "Allgemeine Konfigurationseinstellungen>" aus.

  3. Wählen Sie Aus für SCM Basic Auth Publishing Credentials, FTP Basic Auth Publishing Credentials oder beides, und wählen Sie dann Speichern.

    Screenshot, der zeigt, wie Sie die Standardauthentifizierung für Azure App Service im Azure-Portal deaktivieren.

Um zu bestätigen, dass der FTP-Zugriff blockiert ist, versuchen Sie, mithilfe von FTP/FTPS eine Verbindung mit Ihrer App herzustellen. Sie sollten eine 401 Nicht authentifizierte Nachricht erhalten.

Um zu bestätigen, dass der Git-Zugriff blockiert ist, versuchen Sie eine lokale Git-Bereitstellung. Sie sollten eine Meldung "Authentifizierungsfehler" erhalten.

Bereitstellen ohne Standardauthentifizierung

Wenn Sie die Standardauthentifizierung deaktivieren, funktionieren Bereitstellungsmethoden, die von der Standardauthentifizierung abhängen, nicht mehr. Einige Bereitstellungsmethoden weisen Fallbackbereitstellungsmechanismen auf.

In der folgenden Tabelle wird gezeigt, wie sich verschiedene Bereitstellungsmethoden verhalten, wenn die Basisauthentifizierung deaktiviert ist, und wie der Fallbackmechanismus, falls vorhanden, aussieht. Weitere Informationen finden Sie unter Authentifizierungstypen nach Bereitstellungsmethoden in Azure App Service.

Bereitstellungsmethode Wenn die Standardauthentifizierung deaktiviert ist
Visual Studio-Bereitstellung Für die Bereitstellung mit der Microsoft Entra-Authentifizierung ist Visual Studio 2022, Version 17.12 oder höher, erforderlich.
FTP Funktioniert nicht.
Git (lokal) Funktioniert nicht.
Azure-Befehlszeilenschnittstelle (Azure CLI) In Azure CLI 2.48.1 oder höher erfolgt ein Fallback auf die Microsoft Entra-Authentifizierung:
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 oder Gradle-Plugin Funktioniert.
GitHub-Aktionen Vorhandene GitHub-Aktionen-Workflows, die die Standardauthentifizierung verwenden, funktionieren nicht. Trennen Sie die vorhandene GitHub-Konfiguration, und erstellen Sie eine neue GitHub-Aktionen-Konfiguration, die die vom Benutzer zugewiesene Identität verwendet.
Wenn die vorhandene GitHub Actions-Bereitstellung manuell konfiguriert ist, versuchen Sie stattdessen, einen Dienstprinzipal oder OpenID Connect zu verwenden.
Verwenden Sie für neue GitHub-Aktionen-Workflows die Option " Benutzer zugewiesene Identität ".
GitHub mit dem App Service-Build-Service Funktioniert nicht.
Bereitstellung über den Erstellungsassistenten im Portal Wenn Sie eine fortlaufende Bereitstellungsquelle auswählen, wenn die Standardauthentifizierung auf "Deaktivieren" festgelegt ist, wird GitHub-Aktionen mit der Option für die vom Benutzer zugewiesene Identität (OpenID Connect) konfiguriert.
Bitbucket Funktioniert nicht.
Azure Repos mit dem App Service Build-Dienst Funktioniert nicht.
Azure Repos mit Azure Pipelines Funktioniert.
Azure-Pipelines mit AzureWebApp-Aufgabe Funktioniert.

Erstellen einer benutzerdefinierten Rolle, um die Aktivierung der Standardauthentifizierung zu verhindern

Um zu verhindern, dass Benutzer mit niedrigeren Rechten die Standardauthentifizierung für jede App aktivieren, können Sie eine benutzerdefinierte Rolle erstellen und die Benutzer der Rolle zuweisen.

  1. Wählen Sie im Azure-Portal das Abonnement aus, in dem Sie die benutzerdefinierte Rolle erstellen möchten.

  2. Wählen Sie im linken Navigationsmenü die Option Access Control (IAM)>"Benutzerdefinierte Rolle hinzufügen>" aus.

  3. Geben Sie auf der Seite " Benutzerdefinierte Rollen erstellen " der Rolle einen Namen, und wählen Sie dann "Weiter" aus.

  4. Wählen Sie auf der Registerkarte "Berechtigungen " die Option "Berechtigungen ausschließen" aus.

  5. Suchen Und wählen Sie Microsoft Web Apps aus.

  6. Suchen und erweitern Sie microsoft.web/sites/basicPublishingCredentialsPolicies.

  7. Wählen Sie das Feld für "Schreiben" und dann "Hinzufügen" aus. In diesem Schritt wird der Vorgang zu NotActions für die Rolle hinzugefügt.

  8. Wählen Sie erneut "Berechtigungen ausschließen" aus .

  9. Suchen Sie nach microsoft.web/sites/slots/basicPublishingCredentialsPolicies, erweitern Sie es, wählen Sie das Feld Schreiben aus, und wählen Sie dann Hinzufügen.

  10. Die Registerkarte "Berechtigungen " sollte nun wie der folgende Screenshot aussehen. Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen.

    Screenshot: Ausschließen von „Schreiben“ für „basicPublishingCredentialsPolicies“.

Sie können diese Rolle jetzt den Benutzern Ihrer Organisation zuweisen. Weitere Informationen finden Sie unter Erstellen oder Aktualisieren von benutzerdefinierten Azure-Rollen mithilfe des Azure-Portals.

Überwachen von versuchter Standardauthentifizierung

Alle erfolgreichen und versuchten Anmeldungen werden beim im Protokolltyp AppServiceAuditLogs von Azure Monitor protokolliert. Um versuchte und erfolgreiche Anmeldungen bei FTP und Web Deploy zu überwachen, führen Sie die Schritte unter Senden von Protokollen an Azure Monitor aus, und aktivieren Sie den Versand des AppServiceAuditLogs Protokolltyps.

Um zu bestätigen, dass die Protokolle an Ihre ausgewählten Dienste gesendet werden, versuchen Sie, sich über FTP oder Web Deploy anzumelden. Das folgende Beispiel zeigt ein Speicherkontoprotokoll.

{
  "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-Richtlinie kann Ihnen dabei helfen, organisatorische Standards zu erzwingen und die Compliance im großen Maßstab zu bewerten. Sie können Azure Policy verwenden, um alle Apps zu überwachen, die weiterhin die Standardauthentifizierung verwenden, und alle nicht konformen Ressourcen zu behandeln. Die folgende Liste enthält integrierte Richtlinien für die Überwachung und Behebung der Standardauthentifizierung für App Service:

Die folgende Liste enthält entsprechende Richtlinien für Slots: