Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как отключить базовую проверку подлинности (имя пользователя и пароль) при развертывании кода в приложениях Службы приложений Azure.
Служба приложений обеспечивает базовую проверку подлинности для клиентов FTP и веб-развертывания, которые могут подключаться с помощью учетных данных развертывания. Эти API отлично подходят для просмотра файловой системы сайта, отправки драйверов и служебных программ и развертывания с помощью MSBuild.
Однако предприятиям часто требуются методы развертывания, которые являются более безопасными, чем обычная проверка подлинности, например проверка подлинности Идентификатора Microsoft Entra . (Дополнительные сведения см. в разделе "Типы проверки подлинности по методу развертывания" в службе приложений 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 выберите «Выкл» и нажмите кнопку «Сохранить».
Чтобы убедиться, что доступ к FTP заблокирован, попробуйте подключиться к приложению с помощью FTP/FTPS. Вы должны получить сообщение "401 Unauthenticated".
Чтобы убедиться, что доступ к Git заблокирован, попробуйте локальное развертывание Git. Должно появиться сообщение "Сбой проверки подлинности".
Развертывание без базовой проверки подлинности
При отключении базовой проверки подлинности методы развертывания, зависящие от простой проверки подлинности, перестают работать.
В следующей таблице показано, как работают различные методы развертывания при отключении базовой проверки подлинности и если есть какой-либо резервный механизм. Дополнительные сведения см. в разделе Типы проверки подлинности по методам развертывания в службе приложений 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 в Центре развертывания выберите опцию пользовательского удостоверения. |
Развертывание в мастере создания | Если для базовой проверки подлинности задано значение Отключено и непрерывное развертывание установлено в Включено, GitHub Actions настроен с опцией удостоверения, назначаемого пользователем (OpenID Connect). |
Azure Repos со службой сборки в службе приложений | Не работает. |
Bitbucket; | Не работает. |
Azure Pipelines с AzureWebApp задачей |
Работает. |
Azure Pipelines с AzureRmWebAppDeployment задачей |
Используйте последнюю AzureRmWebAppDeployment задачу для получения резервного поведения. Тип PublishProfile подключения не работает, так как он использует обычную проверку подлинности. Измените тип подключения на AzureRM . В агентах, отличных от Windows Azure Pipelines, проверка подлинности выполняется. В агентах Windows метод развертывания, используемый задачей , может потребоваться изменить. Если DeploymentType: 'webDeploy' используется и обычная проверка подлинности отключена, задача проходит проверку подлинности с помощью маркера Microsoft Entra. Существуют дополнительные требования, если вы не используете windows-latest агент или используете автономный агент. Дополнительные сведения см. в статье «Не удается выполнить веб-развертывание в службе приложений Azure, используя проверку подлинности Microsoft Entra из агента Windows».Другие методы развертывания работают, например zip-развертывание или запуск из пакета. |
Создание настраиваемой роли без разрешений для базовой проверки подлинности
Чтобы запретить пользователю с более низким уровнем привилегий включить базовую проверку подлинности для любого приложения, можно создать пользовательскую роль и назначить пользователя роли.
На портале Azure в верхнем меню найдите и выберите подписку, в которой требуется создать пользовательскую роль.
В меню слева выберите элемент Управления доступом (IAM)>Добавить>настраиваемую роль.
Установите вкладку "Базовый" по своему усмотрению, а затем выберите "Далее".
На вкладке "Разрешения" выберите "Исключить разрешения".
Найдите и выберите Microsoft Web Apps, а затем выполните поиск следующих операций:
Операция Описание microsoft.web/sites/basicPublishingCredentialsPolicies/ftp
Учетные данные публикации FTP для приложений службы App Service microsoft.web/sites/basicPublishingCredentialsPolicies/scm
Учетные данные для публикации SCM для приложений App Service microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp
Учетные данные публикации FTP для слотов службы приложений microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm
Учетные данные публикации SCM для слотов службы приложений В каждой из этих операций выберите поле для записи и нажмите кнопку "Добавить". На этом этапе операция добавляется в виде NotActions для роли.
Вкладка "Разрешения" должна выглядеть следующим образом:
Выберите Проверить и создать, а затем выберите Создать.
Теперь эту роль можно назначить пользователям вашей организации.
Дополнительные сведения см. в статье "Создание и обновление пользовательских ролей Azure" с помощью портала Azure.
Мониторинг базовых попыток проверки подлинности
Все успешные и неудачные попытки входа регистрируются в журнал Azure Monitor AppServiceAuditLogs
. Чтобы проверить попытки и успешные логины в FTP и Web Deploy, выполните действия, описанные в статье Отправка журналов в Azure Monitor и включите отправку AppServiceAuditLogs
типа журнала.
Чтобы убедиться, что журналы отправляются в выбранные службы, попробуйте войти через FTP или Web Deploy. В следующем примере показан журнал учетной записи хранения.
{ "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 отображается предупреждение об отключении базовой проверки подлинности?
Visual Studio требует базовой проверки подлинности для развертывания на службе приложений Azure. Предупреждение напоминает вам, что конфигурация приложения изменилась, и вы больше не сможете развернуть его. Либо вы отключили обычную проверку подлинности в приложении самостоятельно, либо политика вашей организации требует отключения обычной проверки подлинности для приложений службы приложений.