Konfigurieren von Anmeldeinformationen für die Azure App Service-BereitstellungConfigure deployment credentials for Azure App Service

Azure App Service unterstützt zwei Arten von Anmeldeinformationen für lokale Git-Bereitstellungen und FTP/S-Bereitstellungen.Azure App Service supports two types of credentials for local Git deployment and FTP/S deployment. Diese Anmeldeinformationen sind nicht identisch mit den Anmeldeinformationen Ihres Azure-Abonnements.These credentials are not the same as your Azure subscription credentials.

  • Anmeldeinformationen auf Benutzerebene: ein Satz von Anmeldeinformationen für das gesamte Azure-Konto.User-level credentials: one set of credentials for the entire Azure account. Hiermit können Sie App Service für alle Apps in allen Abonnements bereitstellen, für die das Azure-Konto über Zugriffsberechtigungen verfügt.It can be used to deploy to App Service for any app, in any subscription, that the Azure account has permission to access. Dies ist der Standardsatz, der auf der Benutzeroberfläche des Portals angezeigt wird (z.B. Übersicht und Eigenschaften auf der Ressourcenseite der App).It's the default set that's surfaced in the portal GUI (such as the Overview and Properties of the app's resource page). Wenn ein Benutzer App-Zugriff über rollenbasierte Zugriffssteuerung (RBAC) oder Co-Administrator-Berechtigungen erhält, kann er die eigenen Anmeldeinformationen auf Benutzerebene verwenden, bis der Zugriff widerrufen wird.When a user is granted app access via Role-Based Access Control (RBAC) or coadmin permissions, that user can use their own user-level credentials until the access is revoked. Teilen Sie diese Anmeldeinformationen nicht mit anderen Azure-Benutzern.Do not share these credentials with other Azure users.

  • Anmeldeinformationen auf App-Ebene: ein Satz von Anmeldeinformationen für jede App.App-level credentials: one set of credentials for each app. Er kann nur verwendet werden, um diese App bereitzustellen.It can be used to deploy to that app only. Die Anmeldeinformationen für eine App werden bei der Erstellung jeder App automatisch generiert.The credentials for each app are generated automatically at app creation. Sie können nicht manuell konfiguriert, jedoch jederzeit zurückgesetzt werden.They can't be configured manually, but can be reset anytime. Damit ein Benutzer Zugriff auf Anmeldeinformationen auf App-Ebene über die rollenbasierte Zugriffssteuerung (RBAC) erhalten kann, muss er in der App mindestens ein Mitwirkender sein (einschließlich der integrierten Rolle „Websitemitwirkender“).For a user to be granted access to app-level credentials via (RBAC), that user must be contributor or higher on the app (including Website Contributor built-in role). Benutzer mit Leseberechtigung dürfen nicht veröffentlichen und haben keinen Zugriff auf diese Anmeldeinformationen.Readers are not allowed to publish, and can't access those credentials.

Konfigurieren von Anmeldeinformationen auf BenutzerebeneConfigure user-level credentials

Sie können die Anmeldeinformationen auf Benutzerebene auf der Ressourcenseite einer App konfigurieren.You can configure your user-level credentials in any app's resource page. Unabhängig von der App, in der Sie diese Anmeldeinformationen konfigurieren, gelten sie für alle Apps und für alle Abonnements in Ihrem Azure-Konto.Regardless in which app you configure these credentials, it applies to all apps and for all subscriptions in your Azure account.

In der Cloud ShellIn the Cloud Shell

Führen Sie zum Konfigurieren des Bereitstellungsbenutzers in der Cloud Shell den Befehl az webapp deployment user set aus.To configure the deployment user in the Cloud Shell, run the az webapp deployment user set command. Ersetzen Sie <username> und <password> durch Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung.Replace <username> and <password> with a deployment user username and password.

  • Der Benutzername muss in Azure eindeutig sein und darf bei lokalen Git-Pushes nicht das Symbol „@“ enthalten.The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Das Kennwort muss mindestens acht Zeichen lang sein und zwei der folgenden drei Elemente enthalten: Buchstaben, Zahlen und Symbole.The password must be at least eight characters long, with two of the following three elements: letters, numbers, and symbols.
az webapp deployment user set --user-name <username> --password <password>

In der JSON-Ausgabe wird das Kennwort als null angezeigt.The JSON output shows the password as null. Wenn Sie den Fehler 'Conflict'. Details: 409 erhalten, müssen Sie den Benutzernamen ändern.If you get a 'Conflict'. Details: 409 error, change the username. Wenn Sie den Fehler 'Bad Request'. Details: 400 erhalten, müssen Sie ein sichereres Kennwort verwenden.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Im PortalIn the portal

Im Azure-Portal muss mindestens eine App vorhanden sein, bevor Sie auf die Seite mit den Anmeldeinformationen für die Bereitstellung zugreifen können.In the Azure portal, you must have at least one app before you can access the deployment credentials page. So konfigurieren Sie die Anmeldeinformationen auf BenutzerebeneTo configure your user-level credentials:

  1. Wählen Sie im Azure-Portal im linken Menü die Optionen App Services > <any_app> > Bereitstellungscenter > FTP > Dashboard aus.In the Azure portal, from the left menu, select App Services > <any_app> > Deployment center > FTP > Dashboard.

    Zeigt, wie Sie das FTP-Dashboard im Bereitstellungscenter in Azure App Services auswählen.

    Oder wenn Sie Git-Bereitstellung bereits konfiguriert haben, wählen Sie App Services > <beliebige_App> > Bereitstellungscenter > FTP/Anmeldeinformationen aus.Or, if you've already configured Git deployment, select App Services > <any_app> > Deployment center > FTP/Credentials.

    Zeigt, wie Sie das FTP-Dashboard für Ihre konfigurierte Git-Bereitstellung im Bereitstellungscenter in Azure App Services auswählen.

  2. Wählen Sie Benutzeranmeldeinformationen aus, konfigurieren Sie den Benutzernamen und das Kennwort, und wählen Sie dann Anmeldeinformationen speichern aus.Select User Credentials, configure the user name and password, and then select Save Credentials.

Wenn Sie Anmeldeinformationen für die Bereitstellung festgelegt haben, finden Sie den Git-Benutzernamen für Bereitstellungen auf der Seite Übersicht Ihrer App.Once you have set your deployment credentials, you can find the Git deployment username in your app's Overview page,

Zeigt, wie Sie den Benutzernamen der Git-Bereitstellung auf der Übersichtsseite Ihrer App finden.

Wenn die Git-Bereitstellung konfiguriert ist, wird auf der Seite ein Git-/Bereitstellungsbenutzername angezeigt, andernfalls ein FTP-/Bereitstellungsbenutzername.If Git deployment is configured, the page shows a Git/deployment username; otherwise, an FTP/deployment username.

Hinweis

Ihr Kennwort auf Benutzerebene für die Bereitstellung wird von Azure nicht angezeigt.Azure does not show your user-level deployment password. Wenn Sie das Kennwort vergessen, können Sie Ihre Anmeldeinformationen über die Schritte in diesem Abschnitt zurücksetzen.If you forget the password, you can reset your credentials by following the steps in this section.

Verwenden von Anmeldeinformationen auf Benutzerebene mit FTP/FTPSUse user-level credentials with FTP/FTPS

Für die Authentifizierung an einem FTP/FTPS-Endpunkt mit Anmeldeinformationen auf Benutzerebene ist ein Benutzername im folgenden Format erforderlich: <app-name>\<user-name>Authenticating to an FTP/FTPS endpoint using user-level credentials requirers a username in the following format: <app-name>\<user-name>

Weil Anmeldeinformationen auf Benutzerebene mit dem Benutzer und nicht einer bestimmten Ressource verknüpft sind, muss der Benutzername dieses Format aufweisen, damit die Anmeldeaktion an den richtigen App-Endpunkt weitergeleitet wird.Since user-level credentials are linked to the user and not a specific resource, the username must be in this format to direct the sign-in action to the right app endpoint.

Abrufen und Zurücksetzen der Anmeldeinformationen auf App-EbeneGet and reset app-level credentials

So rufen Sie die Anmeldeinformationen auf App-Ebene abTo get the app-level credentials:

  1. Wählen Sie im Azure-Portal im linken Menü App Services > <beliebige_App> > Bereitstellungscenter > FTP/Anmeldeinformationen aus.In the Azure portal, from the left menu, select App Services > <any_app> > Deployment center > FTP/Credentials.

  2. Wählen Sie App-Anmeldeinformationen aus und dann den Link Kopieren, um den Benutzernamen oder das Kennwort zu kopieren.Select App Credentials, and select the Copy link to copy the username or password.

Um die Anmeldeinformationen auf App-Ebene zurückzusetzen, wählen Sie im selben Dialogfeld Anmeldeinformationen zurücksetzen aus.To reset the app-level credentials, select Reset Credentials in the same dialog.

Deaktivieren der StandardauthentifizierungDisable basic authentication

Einige Organisationen müssen Sicherheitsanforderungen erfüllen und möchten daher den Zugriff über FTP oder WebDeploy deaktivieren.Some organizations need to meet security requirements and would rather disable access via FTP or WebDeploy. Auf diese Weise können die Mitglieder der Organisation nur auf Ihre App Services über APIs zugreifen, die von Azure Active Directory (Azure AD) gesteuert werden.This way, the organization's members can only access its App Services through APIs that are controlled by Azure Active Directory (Azure AD).

FTPFTP

Um den FTP-Zugriff auf die Website zu deaktivieren, führen Sie den folgenden CLI-Befehl aus.To disable FTP access to the site, run the following CLI command. Ersetzen Sie die Platzhalter durch die Ressourcengruppe und den Websitenamen.Replace the placeholders with your resource group and site name.

az resource update --resource-group <resource-group> --name ftp --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

Um zu bestätigen, dass der FTP-Zugriff blockiert ist, können Sie versuchen, sich mit einem FTP-Client wie FileZilla zu authentifizieren.To confirm that FTP access is blocked, you can try to authenticate using an FTP client such as FileZilla. Zum Abrufen der Veröffentlichungsanmeldeinformationen navigieren Sie zum Übersichtsblatt Ihrer Website, und klicken Sie auf „Veröffentlichungsprofil herunterladen“.To retrieve the publishing credentials, go to the overview blade of your site and click Download Publish Profile. Verwenden Sie den FTP-Hostnamen, den Benutzernamen und das Kennwort für die Datei, um sich zu authentifizieren, und Sie erhalten eine 401-Fehlerantwort, die angibt, dass Sie nicht autorisiert sind.Use the file’s FTP hostname, username, and password to authenticate, and you will get a 401 error response, indicating that you are not authorized.

WebDeploy und SCMWebDeploy and SCM

Führen Sie den folgenden CLI-Befehl aus, um Standardauthentifizierungszugriff auf den WebDeploy-Port und die SCM-Website zu deaktivieren.To disable basic auth access to the WebDeploy port and SCM site, run the following CLI command. Ersetzen Sie die Platzhalter durch die Ressourcengruppe und den Websitenamen.Replace the placeholders with your resource group and site name.

az resource update --resource-group <resource-group> --name scm --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

Um zu bestätigen, dass die Anmeldeinformationen für das Veröffentlichungsprofil für WebDeploy blockiert werden, versuchen Sie, eine Web-App mit Visual Studio 2019 zu veröffentlichen.To confirm that the publish profile credentials are blocked on WebDeploy, try publishing a web app using Visual Studio 2019.

Deaktivieren des Zugriffs auf die APIDisable access to the API

Die API im vorherigen Abschnitt basiert auf rollenbasierter Zugriffssteuerung (Role-Based Access Control, RBAC) von Azure. Das bedeutet, dass Sie eine benutzerdefinierte Rolle erstellen und der Rolle Benutzer mit niedrigeren Berechtigungen zuweisen können, sodass diese keine Standardauthentifizierung für beliebige Websites aktivieren können.The API in the previous section is backed Azure Role-Based Access Control (RBAC), which means you can create a custom role and assign lower-priveldged users to the role so they cannot enable basic auth on any sites. Um die benutzerdefinierte Rolle zu konfigurieren, befolgen Sie diese Anweisungen.To configure the custom role, follow these instructions.

Sie können auch Azure Monitor verwenden, um alle erfolgreichen Authentifizierungsanforderungen zu überwachen, sowie Azure Policy, um diese Konfiguration für alle Standorte in Ihrem Abonnement zu erzwingen.You can also use Azure Monitor to audit any successful authentication requests and use Azure Policy to enforce this configuration for all sites in your subscription.

Nächste SchritteNext steps

Erfahren Sie, wie Sie diese Anmeldeinformationen zum Bereitstellen Ihrer App über lokales Git oder FTP/S verwenden.Find out how to use these credentials to deploy your app from local Git or using FTP/S.