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 clientes FTP e WebDeploy se conectarem 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 do 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.
Desativar a autenticação básica
Dois controles diferentes para autenticação básica estão disponíveis. Especificamente:
- Para implantaçã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 portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Configurações>gerais.
Para Credenciais de Publicação de Autenticação Básica do SCM ou Credenciais de Publicação de Autenticação Básica de FTP, selecione Desativado e, em seguida, selecione Salvar.
Para confirmar se o acesso FTP está bloqueado, tente conectar-se ao seu aplicativo usando FTP/S. Você deve receber uma 401 Unauthenticted
mensagem.
Para confirmar se o acesso ao Git está bloqueado, tente a implantação local do Git. Você deve receber uma Authentication failed
mensagem.
Implantação sem autenticação básica
Quando você desabilita a autenticação básica, os métodos de implantação que dependem da autenticação básica param de funcionar.
A tabela a seguir mostra como vários métodos de implantação se comportam quando a autenticação básica está 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 está desativada |
---|---|
Implementaçã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 para cima - AZ WebApp Implantar - az webapp deployment source config-zip - AZ WebApp Log Deployment Show - Lista de implantação do log do AZ WebApp - az webapp log baixar - cauda de log az webapp - az webapp procurar - az webapp create-remote-connection - az webapp ssh - AZ FunctionApp Implantar - Lista de implantação de log do AZ FunctionApp - AZ FunctionApp Log Deployment Show - az functionapp deployment source config-zip |
Plugin Maven ou plugin Gradle | Obras. |
GitHub com Serviço de Criação do Serviço de Aplicativo | Não funciona. |
GitHub Actions | - Um fluxo de trabalho existente do GitHub Actions que usa autenticação básica não pode autenticar. No Centro de Implantação, desconecte a configuração existente do GitHub e crie uma nova configuração de Ações do GitHub 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 OpenID Connect. - Para a nova configuração de Ações do GitHub 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 Implantação contínua definida como Habilitar, as Ações do GitHub são configuradas com a opção de identidade atribuída pelo usuário (OpenID Connect). |
Azure Repos com Serviço de Criação do Serviço de Aplicativo | Não funciona. |
BitBucket | Não funciona. |
Tarefa Azure Pipelines with AzureWebApp | Obras. |
Pipelines do Azure com a tarefa AzureRmWebAppDeployment | - Use a tarefa AzureRmWebAppDeployment mais recente para obter o comportamento de fallback. - O tipo de conexão Publish Profile ( PublishProfile ) não funciona, porque 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 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 windows-latest agente ou se estiver usando um agente auto-hospedado. Para obter mais informações, consulte Não consigo implantar a 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 zip deploy ou run from package. |
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, procure e selecione a assinatura na qual você deseja criar a função personalizada.
Na navegação à esquerda, selecione Controle de acesso (IAM)>Adicionar>função personalizada.
Defina a guia Básico como desejar e selecione Avançar.
Na guia Permissões, selecione Excluir permissões.
Localize e selecione Microsoft Web Apps e, em seguida, procure as seguintes operações:
Operation Description 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, selecione a caixa Gravar e, em seguida, 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 Rever + criar e, em seguida, selecione 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 de autenticação básica
Todos os logons bem-sucedidos e tentados são registrados no tipo de log do Azure Monitor AppServiceAuditLogs
. Para auditar os logins tentados e bem-sucedidos no FTP e no WebDeploy, siga as etapas em Enviar logs para o Azure Monitor e habilite o AppServiceAuditLogs
envio do tipo de log.
Para confirmar que os logs são enviados para o(s) serviço(s) selecionado(s), tente fazer 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
A Política do Azure pode ajudá-lo a aplicar padrões organizacionais e a avaliar a conformidade em escala. Você pode usar a Política do Azure para auditar qualquer aplicativo que ainda use 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 da autenticação básica no Serviço de Aplicativo:
- Política de auditoria para FTP
- Política de auditoria para SCM
- Política de correção para FTP
- Política de remediação para SCM
As políticas correspondentes para as faixas horárias são as seguintes:
- Política de auditoria para FTP
- Política de auditoria para SCM
- Política de correção para FTP
- Política de remediação para SCM
Perguntas mais 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 do seu aplicativo foi alterada e você não pode mais implantá-lo. Você mesmo desabilitou a autenticação básica no aplicativo ou a política da sua organização impõe que a autenticação básica esteja desabilitada para aplicativos do Serviço de Aplicativo.