Compartilhar via


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

Este artigo discute 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 básicas de acesso à autenticação.

O Serviço de Aplicativo fornece autenticação básica para os clientes FTP e Web Deploy se conectarem usando credenciais de nome de usuário e senha de implantação. As APIs básicas de autenticação 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 a ID do Microsoft Entra. Os tokens de acesso do 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 atenuar 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 desabilitar a autenticação básica para acesso ftp a um aplicativo, você deve ter acesso no nível do 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 do Usuário na assinatura.

Desabilitar a autenticação básica

Para implantação FTP, a autenticação básica é controlada pelo sinalizador basicPublishingCredentialsPolicies/ftp ou pela opção de portal Credenciais de Publicação com Autenticação Básica FTP.

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 ou pela opção de portal Credenciais de Publicação com Autenticação Básica SCM.

Observação

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

Para desabilitar a autenticação básica:

  1. No Azure portal, pesquise e selecione Serviços de Aplicativos e, em seguida, selecione o nome do seu aplicativo.

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

  3. Selecione Desativar para Credenciais Básicas de Autenticação de Publicação do SCM, Credenciais Básicas de Autenticação de Publicação do FTP ou ambas e, em seguida, selecione Salvar.

    Captura de tela que mostra como desabilitar a autenticação básica para o Serviço de Aplicativo do Azure no portal do Azure.

Para confirmar se o acesso ftp está bloqueado, tente se conectar ao seu aplicativo usando FTP/FTPS. Você deve receber uma mensagem 401 não autenticada .

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

Implantar sem autenticação básica

Quando você desabilitar 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 de contingência.

A tabela a seguir mostra como vários métodos de implantação se comportam quando a autenticação básica é 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 estiver desabilitada
Implantação do Visual Studio A implantação com a 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 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 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.
Ações do GitHub 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 do GitHub Actions que usa a identidade atribuída pelo usuário.
Se a implantação existente do GitHub Actions estiver configurada manualmente, tente usar um princípio de serviço ou o 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 criação do Serviço de Aplicativo Não funciona.
Implantação a partir do assistente de criação do portal Se você selecionar uma fonte de implantação contínua quando a autenticação básica estiver definida como Desabilitar, o GitHub Actions será configurado com a opção de identidade atribuída pelo usuário (OpenID Connect).
Bitbucket Não funciona.
Azure Repos com o serviço de criação do Serviço de Aplicativo Não funciona.
Azure Repos com o 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 na qual você deseja criar a função personalizada.

  2. No menu de navegação à esquerda, 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 Aplicativos Web da Microsoft.

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

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

  8. Selecione Excluir permissões novamente.

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

  10. A guia Permissões agora deve ser semelhante à captura de tela a seguir. Selecione Examinar + Criar e, em seguida, selecione Criar.

    Captura de tela mostrando a exclusão de Gravação para 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 AppServiceAuditLogs do Azure Monitor. Para auditar logons tentados e 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 se os logs são enviados para seus serviços selecionados, tente acessar 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"
  }
}

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 lista a seguir mostra políticas internas para auditar e corrigir a autenticação básica no Serviço de Aplicativo:

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