Отключение базовой проверки подлинности в развертываниях Служба приложений
В этой статье показано, как отключить базовую проверку подлинности (имя пользователя и пароль) при развертывании кода в Служба приложений приложениях.
Служба приложений обеспечивает базовую проверку подлинности для клиентов FTP и WebDeploy для подключения к нему с помощью учетных данных развертывания. Эти API отлично подходят для просмотра файловой системы сайта, отправки драйверов и служебных программ и развертывания с помощью MsBuild. Однако предприятиям часто требуются более безопасные методы развертывания, чем обычная проверка подлинности, например проверка подлинности Microsoft Entra ID (см. типы проверки подлинности по методам развертывания в службе приложение Azure). Microsoft Entra использует авторизацию на основе маркеров OAuth 2.0 и имеет множество преимуществ и улучшений, которые помогают устранить проблемы в базовой проверке подлинности. Например, маркеры доступа OAuth имеют ограниченное время существования и относятся к приложениям и ресурсам, для которых они выданы, поэтому их нельзя использовать повторно. Microsoft Entra также позволяет развертывать из других служб Azure с помощью управляемых удостоверений.
Доступны два разных элемента управления для базовой проверки подлинности. В частности:
- Для развертывания FTP обычная проверка подлинности контролируется флагом
basicPublishingCredentialsPolicies/ftp
(параметр "Учетные данные для базовой проверки подлинности FTP" на портале). - Для других методов развертывания, использующих базовую проверку подлинности, например Visual Studio, локальный Git и GitHub, обычная проверка подлинности управляется
basicPublishingCredentialsPolicies/scm
флагом (параметр учетных данных публикации SCM Basic Auth на портале).
На портале Azure найдите и выберите Службы приложений, а затем выберите приложение.
В меню приложения слева выберите Конфигурация>Общие параметры.
Для учетных данных публикации sCM Basic Auth или FTP Basic Auth Publishing Credentials, выберите "Отключить", а затем нажмите кнопку "Сохранить".
Чтобы убедиться, что доступ к FTP заблокирован, попробуйте подключиться к приложению с помощью FTP/S. Вы должны получить 401 Unauthenticated
сообщение.
Чтобы убедиться, что доступ к Git заблокирован, попробуйте локальное развертывание Git. Вы должны получить Authentication failed
сообщение.
При отключении базовой проверки подлинности методы развертывания, зависящие от простой проверки подлинности, перестают работать.
В следующей таблице показано, как работают различные методы развертывания при отключении базовой проверки подлинности и если есть какой-либо резервный механизм. Дополнительные сведения см. в разделе "Типы проверки подлинности по методам развертывания" в службе приложение Azure.
Метод развертывания | Если обычная проверка подлинности отключена |
---|---|
Развертывание Visual Studio | Не работает. |
FTP | Не работает. |
Локальный репозиторий Git | Не работает. |
Azure CLI | В Azure CLI 2.48.1 или более поздней версии следующие команды возвращаются к проверке подлинности Microsoft Entra: - 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 или подключаемый модуль Gradle | Завод. |
GitHub со службой сборки Служба приложений | Не работает. |
GitHub Actions | — Существующий рабочий процесс GitHub Actions, использующий обычную проверку подлинности, не может пройти проверку подлинности . В Центре развертывания отключите существующую конфигурацию GitHub и создайте новую конфигурацию GitHub Actions с параметром удостоверения, назначаемого пользователем. — Если существующее развертывание GitHub Actions настроено вручную, попробуйте использовать субъект-службу или OpenID Connect. — Для новой конфигурации GitHub Actions в Центре развертывания используйте параметр удостоверения, назначаемого пользователем. |
Развертывание в мастере создания | Если для базовой проверки подлинности задано значение Disable and Continuous deploymentset to Enable, GitHub Actions настроен с параметром удостоверения , назначаемого пользователем (OpenID Connect). |
Azure Repos с помощью службы сборки Служба приложений | Не работает. |
Bitbucket; | Не работает. |
Azure Pipelines с задачей AzureWebApp | Завод. |
Azure Pipelines с задачей AzureRmWebAppDeployment | — Используйте последнюю задачу AzureRmWebAppDeployment для получения резервного поведения. — Тип подключения "Профиль публикации" PublishProfile не работает, так как он использует базовую проверку подлинности. Измените тип подключения на Azure Resource Manager (AzureRM ). — В агентах конвейеров, отличных от Windows, проверка подлинности работает. — В агентах Windows метод развертывания, используемый задачей, может потребоваться изменить. Если веб-развертывание используется ( DeploymentType: 'webDeploy' ) и обычная проверка подлинности отключена, задача проходит проверку подлинности с помощью маркера Microsoft Entra. Существуют дополнительные требования, если вы не используете windows-latest агент или используете автономный агент. Дополнительные сведения см. в статье "Не удается выполнить веб-развертывание в службе приложение Azure" с помощью проверки подлинности Microsoft Entra из агента Windows.— Другие методы развертывания работают, например zip-развертывание или запуск из пакета. |
Чтобы запретить пользователю с более низким уровнем привилегий включить базовую проверку подлинности для любого приложения, можно создать пользовательскую роль и назначить пользователя роли.
В портал Azure в верхнем меню найдите и выберите подписку, в которой вы хотите создать пользовательскую роль.
В области навигации слева выберите контроль доступа (IAM)>Добавить>настраиваемую роль.
Задайте вкладку "Базовый " , а затем нажмите кнопку "Далее".
На вкладке "Разрешения" и выберите " Исключить разрешения".
Найдите и выберите Microsoft веб-приложения, а затем выполните поиск следующих операций:
Операция Description microsoft.web/sites/basicPublishingCredentialsPolicies/ftp
Учетные данные публикации FTP для приложений Служба приложений. microsoft.web/sites/basicPublishingCredentialsPolicies/scm
Учетные данные публикации SCM для приложений Служба приложений. microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp
Учетные данные публикации FTP для Служба приложений слотов. microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm
Учетные данные публикации SCM для Служба приложений слотов. В каждой из этих операций выберите поле для записи, а затем нажмите кнопку "Добавить". На этом шаге операция добавляется как NotActions для роли.
Вкладка "Разрешения" должна выглядеть следующим образом:
Выберите Проверить и создать, а затем выберите Создать.
Теперь эту роль можно назначить пользователям вашей организации.
Дополнительные сведения см. в статье "Создание или обновление пользовательских ролей Azure" с помощью портал Azure
Все успешные и попытки входа регистрируются в тип журнала Azure Monitor AppServiceAuditLogs
. Чтобы проверить попытки и успешные входы в FTP и WebDeploy, выполните действия по отправке журналов в Azure Monitor и включите доставку AppServiceAuditLogs
типа журнала.
Чтобы убедиться, что журналы отправляются в выбранные службы, попробуйте войти в систему через FTP или WebDeploy. В следующем примере показан журнал учетной записи хранения.
{ "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 помогает применять организационные стандарты и оценивать соответствие по масштабу. Вы можете использовать Политика Azure для аудита любых приложений, которые по-прежнему используют базовую проверку подлинности, и устранять любые несоответствующие ресурсы. Ниже приведены встроенные политики аудита и исправления базовой проверки подлинности в Служба приложений.
- Политика аудита для FTP
- Политика аудита для SCM
- Политика исправления для FTP
- Политика исправления для SCM
Ниже приведены соответствующие политики для слотов:
- Политика аудита для FTP
- Политика аудита для SCM
- Политика исправления для FTP
- Политика исправления для SCM
Visual Studio требует базовой проверки подлинности для развертывания в службе приложение Azure. Предупреждение напоминает вам, что конфигурация приложения изменилась, и вы больше не сможете развернуть его. Либо вы отключили обычную проверку подлинности в приложении самостоятельно, либо ваша политика организации применяет обычную проверку подлинности для Служба приложений приложений.