Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
Suchen Sie im Azure-Portal die Option App Services, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus.
Wählen Sie im linken Navigationsmenü der App die Option "Allgemeine Konfigurationseinstellungen>" aus.
Wählen Sie Aus für SCM Basic Auth Publishing Credentials, FTP Basic Auth Publishing Credentials oder beides, und wählen Sie dann Speichern.
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.
Wählen Sie im Azure-Portal das Abonnement aus, in dem Sie die benutzerdefinierte Rolle erstellen möchten.
Wählen Sie im linken Navigationsmenü die Option Access Control (IAM)>"Benutzerdefinierte Rolle hinzufügen>" aus.
Geben Sie auf der Seite " Benutzerdefinierte Rollen erstellen " der Rolle einen Namen, und wählen Sie dann "Weiter" aus.
Wählen Sie auf der Registerkarte "Berechtigungen " die Option "Berechtigungen ausschließen" aus.
Suchen Und wählen Sie Microsoft Web Apps aus.
Suchen und erweitern Sie microsoft.web/sites/basicPublishingCredentialsPolicies.
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.
Wählen Sie erneut "Berechtigungen ausschließen" aus .
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.
Die Registerkarte "Berechtigungen " sollte nun wie der folgende Screenshot aussehen. Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen.
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"
}
}
Verwenden von Richtlinien der Standardauthentifizierung
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:
- Überwachungsrichtlinie für FTP
- Überwachungsrichtlinie für SCM
- Wartungsrichtlinie für FTP
- Wartungsrichtlinie für SCM
Die folgende Liste enthält entsprechende Richtlinien für Slots:
- Überwachungsrichtlinie für FTP
- Überwachungsrichtlinie für SCM
- Wartungsrichtlinie für FTP
- Wartungsrichtlinie für SCM
Verwandte Inhalte
- Authentifizierungstypen nach Bereitstellungsmethode in Azure App Service
- Konfigurieren der kontinuierlichen Bereitstellung für Azure App Service
- Bereitstellen in Azure App Service mithilfe von GitHub Actions
- Mit Git lokal auf Azure App Service bereitstellen
- Bereitstellen der App in Azure App Service mithilfe von FTP/S