Настройка учетных данных развертывания службы приложений AzureConfigure deployment credentials for Azure App Service

Служба приложений Azure поддерживает два типа учетных данных для развертывания локальной системы Git и развертывания FTP(S).Azure App Service supports two types of credentials for local Git deployment and FTP/S deployment. Эти учетные данные не совпадают с учетными данными подписки Azure.These credentials are not the same as your Azure subscription credentials.

  • Учетные данные на уровне пользователя. Это единый набор учетных данных для всей учетной записи Azure.User-level credentials: one set of credentials for the entire Azure account. С его помощью можно развернуть службу приложений для любого приложения и в любой подписке, на доступ к которой у этой учетной записи Azure есть права.It can be used to deploy to App Service for any app, in any subscription, that the Azure account has permission to access. Именно это значение по умолчанию отображается на портале графического пользовательского интерфейса (например, в разделах Обзор и Свойства на странице ресурсов приложения).It's the default set that's surfaced in the portal GUI (such as the Overview and Properties of the app's resource page). Если пользователь получает доступ к приложению с помощью управления доступом на основе ролей (RBAC) или назначения прав соадминистратора, пользователь может использовать свои собственные учетные данные на уровне пользователя, пока доступ не будет отозван.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. Не используйте эти учетные данные совместно с другими пользователями Azure.Do not share these credentials with other Azure users.

  • Учетные данные на уровне приложения. Это единый набор учетных данных для каждого приложения.App-level credentials: one set of credentials for each app. С его помощью можно развернуть только одно приложение.It can be used to deploy to that app only. Учетные данные для каждого приложения автоматически формируются при создании приложения.The credentials for each app are generated automatically at app creation. Их нельзя настроить вручную, но можно сбросить в любое время.They can't be configured manually, but can be reset anytime. Чтобы получить доступ к учетным данным на уровне приложения с помощью RBAC, у пользователя в приложении должна быть роль участника или роль более высокого уровня (включая встроенную роль "Участник веб-сайтов").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). У читателей нет прав на публикацию и доступа к этим учетным данным.Readers are not allowed to publish, and can't access those credentials.

Настройка учетных данных на уровне пользователяConfigure user-level credentials

Учетные данные на уровне пользователя можно настроить на странице ресурсов любого приложения.You can configure your user-level credentials in any app's resource page. Независимо от того, в каком приложении вы настроите эти учетные данные, они будут применяться для всех приложений и всех подписок в учетной записи Azure.Regardless in which app you configure these credentials, it applies to all apps and for all subscriptions in your Azure account.

В Cloud ShellIn the Cloud Shell

Чтобы настроить пользователя развертывания, выполните в Cloud Shell команду az webapp deployment user set.To configure the deployment user in the Cloud Shell, run the az webapp deployment user set command. Замените <username> и <password> именем пользователя и паролем развертывания.Replace <username> and <password> with a deployment user username and password.

  • Имя пользователя должно быть уникальным в Azure. Кроме того, чтобы отправка в локальный репозиторий Git работала, имя пользователя не должно содержать символ @.The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Пароль должен содержать не менее восьми символов и включать два из трех следующих элементов: буквы, цифры и символы.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>

В выходных данных JSON пароль отображается как null.The JSON output shows the password as null. Если появляется сообщение об ошибке 'Conflict'. Details: 409, измените имя пользователя.If you get a 'Conflict'. Details: 409 error, change the username. Если появляется сообщение об ошибке 'Bad Request'. Details: 400, используйте более надежный пароль.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Просмотр на порталеIn the portal

Чтобы можно было открыть страницу учетных данных развертывания, на портале Azure должно существовать хотя бы одно приложение.In the Azure portal, you must have at least one app before you can access the deployment credentials page. Чтобы настроить учетные данные на уровне пользователя, выполните следующие действия.To configure your user-level credentials:

  1. В портал Azureв меню слева выберите панель мониторинга службы приложений > <any_app> > центр развертывания > FTP > Dashboard.In the Azure portal, from the left menu, select App Services > <any_app> > Deployment center > FTP > Dashboard.

    Здесь показано, как можно выбрать панель мониторинга FTP в центре развертывания в службах приложений Azure.

    Если вы уже настроили развертывание Git, выберите Службы приложений > <any_app > > Центр развертывания > FTP/Учетные данные.Or, if you've already configured Git deployment, select App Services > <any_app> > Deployment center > FTP/Credentials.

    Здесь показано, как можно выбрать панель мониторинга FTP в центре развертывания в службах приложений Azure для настроенного развертывания Git.

  2. Выберите Учетные данные пользователя, укажите имя пользователя и пароль, а затем нажмите кнопку Сохранить учетные данные.Select User Credentials, configure the user name and password, and then select Save Credentials.

Когда вы настроите учетные данные развертывания, имя пользователя для развертывания Git можно будет найти на странице Обзор приложения.Once you have set your deployment credentials, you can find the Git deployment username in your app's Overview page,

Здесь показано, как найти имя пользователя развертывания Git на странице обзора приложения.

Если развертывание Git настроено, на странице отображается имя пользователя Git или развертывания; в противном случае имя пользователя FTP или развертывания.If Git deployment is configured, the page shows a Git/deployment username; otherwise, an FTP/deployment username.

Примечание

Azure не отображает пароль развертывания на уровне пользователя.Azure does not show your user-level deployment password. Если вы забыли пароль, можно сбросить учетные данные, выполнив действия, описанные в этом разделе.If you forget the password, you can reset your credentials by following the steps in this section.

Использование учетных данных на уровне пользователя с помощью FTP или FTPSUse user-level credentials with FTP/FTPS

Проверка подлинности в конечной точке FTP или FTPS с использованием учетных данных уровня пользователя требует имени пользователя в следующем формате: <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>

Так как учетные данные на уровне пользователя привязаны к пользователю, а не к конкретному ресурсу, имя пользователя должно быть в этом формате для направления действия входа в подходящую конечную точку приложения.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.

Установка и сброс учетных данных на уровне приложенийGet and reset app-level credentials

Получить такие учетные данные можно так.To get the app-level credentials:

  1. На портале Azure в меню слева последовательно выберите Службы приложений > <любое_приложение> > Центр развертывания > FTP/Учетные данные.In the Azure portal, from the left menu, select App Services > <any_app> > Deployment center > FTP/Credentials.

  2. Выберите Учетные данные приложения. Скопируйте имя пользователя или пароль с помощью ссылки Копировать.Select App Credentials, and select the Copy link to copy the username or password.

Чтобы сбросить учетные данные на уровне приложения, выберите Сбросить учетные данные в том же диалоговом окне.To reset the app-level credentials, select Reset Credentials in the same dialog.

Отключить обычную проверку подлинностиDisable basic authentication

Некоторые организации должны удовлетворять требованиям безопасности, а отключать доступ через FTP или WebDeploy.Some organizations need to meet security requirements and would rather disable access via FTP or WebDeploy. Таким образом, члены Организации могут получать доступ к своим службам приложений только через API-интерфейсы, управляемые Azure Active Directory (Azure AD).This way, the organization's members can only access its App Services through APIs that are controlled by Azure Active Directory (Azure AD).

FTPFTP

Чтобы отключить FTP-доступ к сайту, выполните следующую команду интерфейса командной строки.To disable FTP access to the site, run the following CLI command. Замените заполнители своей группой ресурсов и именем сайта.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

Чтобы убедиться, что FTP-доступ заблокирован, можно попытаться выполнить проверку подлинности с помощью FTP-клиента, например FileZilla.To confirm that FTP access is blocked, you can try to authenticate using an FTP client such as FileZilla. Чтобы получить учетные данные публикации, перейдите в колонку "Обзор" сайта и щелкните Скачать профиль публикации.To retrieve the publishing credentials, go to the overview blade of your site and click Download Publish Profile. Для проверки подлинности используйте имя узла FTP, имя пользователя и пароль, и вы получите ответ об ошибке 401, указывающий на то, что вы не прошли авторизацию.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 и SCMWebDeploy and SCM

Чтобы отключить базовый доступ с проверкой подлинности к порту веб-развертывания и сайту SCM, выполните следующую команду CLI.To disable basic auth access to the WebDeploy port and SCM site, run the following CLI command. Замените заполнители своей группой ресурсов и именем сайта.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

Чтобы убедиться, что учетные данные профиля публикации заблокированы для WebDeploy, попробуйте Опубликовать веб-приложение с помощью Visual Studio 2019.To confirm that the publish profile credentials are blocked on WebDeploy, try publishing a web app using Visual Studio 2019.

Отключить доступ к APIDisable access to the API

API в предыдущем разделе является резервной системой управления доступом на основе ролей (RBAC) Azure. Это означает, что вы можете создать пользовательскую роль и назначить ей пользователей с низкими привелджед, чтобы они не могли включить обычную проверку подлинности на всех сайтах.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. Чтобы настроить пользовательскую роль, выполните следующие инструкции.To configure the custom role, follow these instructions.

Можно также использовать Azure Monitor для аудита любых успешных запросов проверки подлинности и применения политики Azure для применения этой конфигурации ко всем сайтам в подписке.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.

Дальнейшие действияNext steps

Узнайте, как использовать эти учетные данные для развертывания приложения из локального репозитория Git или с помощью FTP(S).Find out how to use these credentials to deploy your app from local Git or using FTP/S.