Desabilitar a autenticação básica em implantações do Serviço de Aplicativo
Este artigo mostra como desabilitar a autenticação básica (autenticação de nome de usuário e senha) ao implantar código em aplicativos do Serviço de Aplicativo.
O Serviço de Aplicativo fornece autenticação básica para que clientes FTP e WebDeploy se conectem a ele usando credenciais de implantação. Essas APIs são ótimas para navegar no sistema de arquivos do seu site, carregar drivers e utilitários e implantar com o MsBuild. No entanto, as empresas geralmente exigem métodos de implantação mais seguros do que a autenticação básica, como a autenticação Microsoft Entra ID (consulte Tipos de autenticação por métodos de implantação no Serviço de Aplicativo do Azure). O Microsoft Entra usa a autorização baseada em token OAuth 2.0 e tem muitos benefícios e melhorias que ajudam a mitigar os problemas na autenticação básica. Por exemplo, os tokens de acesso OAuth têm um tempo de vida útil limitado e são específicos para os aplicativos e recursos para os quais são emitidos, portanto, não podem ser reutilizados. O Microsoft Entra também permite implantar a partir de outros serviços do Azure usando identidades gerenciadas.
Desabilitar a autenticação básica
Estão disponíveis dois controles diferentes para autenticação básica. Especificamente:
- Paraimplantação de FTP, a autenticação básica é controlada pelo sinalizador
basicPublishingCredentialsPolicies/ftp
(opção FTP Basic Auth Publishing Credentials no portal). - Para outros métodos de implantação que usam autenticação básica, como Visual Studio, Git local e GitHub, a autenticação básica é controlada pelo sinalizador
basicPublishingCredentialsPolicies/scm
(opção SCM Basic Auth Publishing Credentials no portal).
No Azure portal, pesquise e selecione Serviços de Aplicativos e, em seguida, selecione o nome do seu aplicativo.
No menu à esquerda do aplicativo, selecione Configuração>Configurações gerais.
Para Credenciais de publicação de autenticação básica SCM ou Credenciais de publicação de autenticação básica FTP, selecione Desligado e, em seguida, selecione Salvar.
Para confirmar que o acesso FTP está bloqueado, tente conectar-se ao seu aplicativo usando FTP/S. Você deve receber uma mensagem 401 Unauthenticted
.
Para confirmar se o acesso ao Git está bloqueado, tente implantação local do Git. Você deve receber uma mensagem Authentication failed
.
Implantação sem autenticação básica
Ao desabilitar a autenticação básica, os métodos de implantação que dependem dela param de funcionar.
A tabela a seguir mostra como vários métodos de implantação se comportam quando a autenticação básica é desabilitada e se há algum mecanismo de fallback. Para obter mais informações, consulte Tipos de autenticação por métodos de implantação no Serviço de Aplicativo do Azure.
Método de implantação | Quando a autenticação básica estiver desabilitada |
---|---|
Implantação do Visual Studio | Não funciona. |
FTP | Não funciona. |
Git Local | Não funciona. |
CLI do Azure | Na CLI do Azure 2.48.1 ou superior, os seguintes comandos retornam à autenticação do Microsoft Entra: - az webapp up - az webapp deploy - az webapp deployment source config-zip - 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 |
Plug-in do Maven ou plug-in do Gradle | Funciona. |
GitHub com o Serviço de Compilação do Serviço de Aplicativo | Não funciona. |
GitHub Actions | – Um fluxo de trabalho existente do GitHub Actions que usa a autenticação básica não pode ser autenticado. No Centro de Implantação, desconecte a configuração existente do GitHub e crie uma nova configuração do GitHub Actions com a opção de identidade atribuída pelo usuário. – Se a implantação existente do GitHub Actions estiver configurada manualmente, tente usar uma entidade de serviço ou o OpenID Connect. – Para uma nova configuração do GitHub Actions no Centro de Implantação, use a opção de identidade atribuída pelo usuário. |
Implantação no assistente de criação | Quando a Autenticação básica é definida como Desabilitar e a implantação contínua definida como Habilitar, o GitHub Actions é configurado com a opção de identidade atribuída pelo usuário (OpenID Connect). |
Azure Repos com o Serviço de Compilação do Serviço de Aplicativo | Não funciona. |
BitBucket | Não funciona. |
Azure Pipelines com tarefa AzureWebApp | Funciona. |
Azure Pipelines com tarefa AzureRmWebAppDeployment | – Use a tarefa AzureRmWebAppDeployment mais recente para obter o comportamento de fallback. – O tipo de conexão Publicar Perfil ( PublishProfile ) não funciona, pois usa autenticação básica. Altere o tipo de conexão para Azure Resource Manager (AzureRM ). – Em agentes que não são do Windows Pipelines, a autenticação funciona. – Em agentes do Windows, o método de implantação usado pela tarefa, pode precisar ser modificado. Quando a Implantação da Web é usada ( DeploymentType: 'webDeploy' ) e a autenticação básica é desabilitada, a tarefa é autenticada com um token do Microsoft Entra. Há requisitos adicionais se você não estiver usando o agente windows-latest ou se estiver usando um agente auto-hospedado. Para obter mais informações, consulte Não consigo fazer a Implantação da Web no meu Serviço de Aplicativo do Azure usando a autenticação do Microsoft Entra do meu agente do Windows.– Outros métodos de implantação funcionam, como implantação zip ou execução do pacote. |
Criar uma função personalizada sem permissões para autenticação básica
Para impedir que um usuário com privilégios mais baixos habilite a autenticação básica para qualquer aplicativo, você pode criar uma função personalizada e atribuir o usuário à função.
No portal do Azure, no menu superior, pesquise e selecione a assinatura na qual você deseja criar a função personalizada.
Na navegação à esquerda, selecione Controle de acesso (IAM)>Adicionar>Adicionar função personalizada.
Defina a guia Básico como desejar e selecione Avançar.
Na guia Permissões e selecione Excluir permissões.
Localize e selecione Microsoft Web Apps e procure as seguintes operações:
Operação Descrição microsoft.web/sites/basicPublishingCredentialsPolicies/ftp
Credenciais de publicação FTP para aplicativos do Serviço de Aplicativo. microsoft.web/sites/basicPublishingCredentialsPolicies/scm
Credenciais de publicação do SCM para aplicativos do Serviço de Aplicativo. microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp
Credenciais de publicação FTP para slots do Serviço de Aplicativo. microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm
Credenciais de publicação do SCM para slots do Serviço de Aplicativo. Em cada uma dessas operações, marque a caixa para Gravação e selecione Adicionar. Esta etapa adiciona a operação como NotActions para a função.
A guia Permissões deve se parecer com a seguinte captura de tela:
Selecione Examinar + criare Criar.
Agora você pode atribuir essa função aos usuários da sua organização.
Para obter mais informações, consulte Criar ou atualizar funções personalizadas do Azure usando o portal do Azure
Monitorar tentativas básicas de autenticação
Todos os logons bem-sucedidos e tentados são registrados no tipo de log AppServiceAuditLogs
do Azure Monitor. Para auditar os logons tentados e bem-sucedidos no FTP e no WebDeploy, siga as etapas em Enviar logs para o Azure Monitor e habilite o envio do tipo de log AppServiceAuditLogs
.
Para confirmar que os logs são enviados para o(s) serviço(s) selecionado(s), tente efetuar login via FTP ou WebDeploy. O exemplo a seguir mostra um log de Conta de Armazenamento.
{ "time": "2023-10-16T17:42:32.9322528Z", "ResourceId": "/SUBSCRIPTIONS/EF90E930-9D7F-4A60-8A99-748E0EEA69DE/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" } }
Políticas básicas relacionadas à autenticação
O Azure Policy pode ajudá-lo a impor padrões organizacionais e avaliar a conformidade em escala. Você pode usar o Azure Policy para auditar quaisquer aplicativos que ainda usam autenticação básica e corrigir quaisquer recursos não compatíveis. A seguir estão as políticas internas para auditoria e correção de autenticação básica no Serviço de Aplicativo:
- Política de auditoria para FTP
- Política de auditoria para SCM
- Política de remediação para FTP
- Política de correção para SCM
A seguir estão as políticas correspondentes para slots:
- Política de auditoria para FTP
- Política de auditoria para SCM
- Política de remediação para FTP
- Política de correção para SCM
Perguntas frequentes
Por que recebo um aviso no Visual Studio informando que a autenticação básica está desabilitada?
O Visual Studio requer autenticação básica para implantar no Serviço de Aplicativo do Azure. O aviso lembra que a configuração em seu aplicativo foi alterada e você não pode mais implantá-la. Você desabilitou a autenticação básica no aplicativo por conta própria ou sua política de organização impõe que a autenticação básica esteja desabilitada para aplicativos do Serviço de Aplicativo.