Partilhar via


Desabilitar a autenticação básica em implantações do Serviço de Aplicativo do Azure

Este artigo descreve como desabilitar a autenticação básica de nome de usuário e senha para implantar código em aplicativos do Serviço de Aplicativo do Azure. O artigo explica várias maneiras de desabilitar a autenticação básica, métodos de implantação de fallback, se houver, e como monitorar tentativas de acesso à autenticação básica.

O App Service fornece autenticação básica para clientes FTP e Web Deploy se conectarem usando credenciais de implantação com nome de utilizador e senha. As APIs de autenticação básica são boas para navegar no sistema de arquivos do seu site, carregar drivers e utilitários e implantar com o MSBuild. Para obter mais informações, consulte Configurar credenciais de implantação para o Serviço de Aplicativo do Azure.

As empresas geralmente exigem métodos de implantação mais seguros do que a autenticação básica, como o Microsoft Entra ID. Os tokens de acesso Microsoft Entra OAuth 2.0 têm um tempo de vida útil limitado, são específicos para os aplicativos e recursos para os quais são emitidos e não podem ser reutilizados. A autorização baseada em token OAuth ajuda a mitigar muitos problemas com a autenticação básica.

O Microsoft Entra também permite implantar a partir de outros serviços do Azure usando identidades gerenciadas. Para obter mais informações, consulte Tipos de autenticação por método de implantação no Serviço de Aplicativo do Azure.

Pré-requisitos

  • Para desativar a autenticação básica para acesso FTP a um aplicativo, você deve ter acesso em nível de proprietário ao aplicativo.
  • Para criar e atribuir uma função para impedir que usuários com privilégios inferiores habilitem a autenticação básica, você deve ter permissões de Proprietário ou Administrador de Acesso de Usuário na assinatura.

Desativar a autenticação básica

Para implantação de FTP, a autenticação básica é controlada pelo indicador basicPublishingCredentialsPolicies/ftp ou pela opção de portal FTP Basic Auth Publishing Credentials.

Para outros métodos de implantação que usam a autenticação básica, como Visual Studio, Git local e GitHub, a autenticação básica é controlada pelo sinalizador basicPublishingCredentialsPolicies/scm ou pela opção de portal SCM Basic Auth Publishing Credentials.

Observação

A autenticação básica do SCM é necessária para habilitar a autenticação básica do FTP.

Para desativar a autenticação básica:

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

  2. No menu de navegação esquerdo do aplicativo, selecione Configurações>gerais.

  3. Selecione Desativado para Credenciais de Publicação de Autenticação Básica do SCM, Credenciais de Publicação de Autenticação Básica de FTP ou ambas e selecione Salvar.

    Captura de ecrã que mostra como desativar a autenticação básica para o Serviço de Aplicações do Azure no portal do Azure.

Para confirmar que o acesso FTP está bloqueado, tente conectar-se ao seu aplicativo usando FTP/FTPS. Você deve receber uma mensagem 401 Não autenticado .

Para confirmar se o acesso ao Git está bloqueado, tente a implantação local do Git. Você deve receber uma mensagem de falha de autenticação .

Implantar 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 não funcionam mais. Alguns métodos de implantação têm mecanismos de implantação alternativa.

A tabela a seguir mostra como vários métodos de implantação se comportam quando a autenticação básica está desabilitada e o mecanismo de fallback, se houver. 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 A implantação com autenticação do Microsoft Entra requer o Visual Studio 2022 versão 17.12 ou posterior.
FTP Não funciona.
Git Local Não funciona.
Azure CLI (Interface de Linha de Comando da 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 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.
Plugin Maven ou Plugin Gradle Funciona.
Ações do GitHub Os fluxos de trabalho existentes do GitHub Actions que usam autenticação básica não funcionam. Desconecte a configuração existente do GitHub e crie uma nova configuração de Ações do GitHub que use a identidade atribuída pelo usuário.
Se a implementação atual do GitHub Actions estiver configurada manualmente, tente usar uma principal de serviço ou OpenID Connect.
Para novos fluxos de trabalho do GitHub Actions, use a opção de identidade atribuída pelo usuário .
GitHub com o serviço de construção do App Service Não funciona.
Implantação do portal a partir do assistente de criação Se você selecionar uma fonte de implantação contínua quando a autenticação Básica estiver definida como Desabilitar, as Ações do GitHub serão configuradas com a opção de identidade atribuída pelo usuário (OpenID Connect).
Bitbucket Não funciona.
Azure Repos com o serviço de compilação do Serviço de Aplicativo Não funciona.
Azure Repos com Azure Pipelines Funciona.
Azure Pipelines com AzureWebApp tarefa Funciona.

Criar uma função personalizada para impedir a habilitação da autenticação básica

Para impedir que usuários com privilégios inferiores habilitem a autenticação básica para qualquer aplicativo, você pode criar uma função personalizada e atribuir os usuários à função.

  1. No portal do Azure, selecione a assinatura onde você deseja criar a função personalizada.

  2. No menu de navegação esquerdo, selecione Controle de acesso (IAM)>Adicionar>função personalizada.

  3. Na página Criar uma função personalizada , dê um nome à função e selecione Avançar.

  4. Na guia Permissões , selecione Excluir permissões.

  5. Pesquise e selecione Microsoft Web Apps.

  6. Procure e expanda microsoft.web/sites/basicPublishingCredentialsPolicies.

  7. Selecione a caixa para Gravar e, em seguida, selecione Adicionar. Esta etapa adiciona a operação a NotActions para a função.

  8. Selecione Excluir permissões novamente.

  9. Procure e expanda microsoft.web/sites/slots/basicPublishingCredentialsPolicies, selecione a caixa Escrever e, em seguida, selecione Adicionar.

  10. O separador Permissões deverá agora estar idêntico à captura de ecrã a seguir. Selecione Rever + criar e, em seguida, selecione Criar.

    Captura de tela que mostra a exclusão de Write for basicPublishingCredentialsPolicies.

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 tentativas e logins bem-sucedidos no FTP e na Implantação da Web, 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 os serviços selecionados, tente fazer login via FTP ou Web Deploy. O exemplo a seguir mostra um log de conta de armazenamento.

{
  "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"
  }
}

A Política do Azure pode ajudá-lo a aplicar padrões organizacionais e 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 lista a seguir mostra políticas internas para auditoria e correção da autenticação básica no Serviço de Aplicativo:

A lista a seguir mostra as políticas correspondentes para slots: