Compartilhar via


Métodos de autenticação para o Azure DevOps

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Este artigo descreve os métodos de autenticação para integração do Azure DevOps e ajuda você a escolher a melhor opção para seu cenário. Abordagens de autenticação modernas, como a ID do Microsoft Entra, fornecem segurança aprimorada e a melhor abordagem para novos aplicativos.

Importante

Recomendamos a autenticação da ID do Microsoft Entra para novos aplicativos que se integram ao Azure DevOps Services. Use tokens de acesso pessoal com moderação e use-os somente quando a ID do Microsoft Entra não estiver disponível.

O OAuth 2.0 e a autenticação da ID do Microsoft Entra estão disponíveis apenas para o Azure DevOps Services, não para o Azure DevOps Server.

Para cenários locais, use bibliotecas de cliente .NET, autenticação do Windows ou tokens de acesso pessoal.

Métodos de autenticação por cenário

Escolha o método de autenticação apropriado com base no tipo de aplicativo e nos requisitos.

Tipo de aplicativo Descrição Exemplo Método recomendado Exemplos de código
Aplicativos Web/desktop Aplicativos interativos usando estruturas atuais Aplicativo React, aplicativo da área de trabalho do .NET Microsoft Entra OAuth com a MSAL (Biblioteca de Autenticação da Microsoft) Aplicativo de console gerenciado do cliente
Aplicativos de serviço/segundo plano Aplicativos em execução sem interação do usuário Azure Functions, serviços em segundo plano Entidades de serviço e identidades gerenciadas Entidades de serviço
Aplicativos cliente herdados Aplicativos existentes usando bibliotecas de cliente Aplicativos de console com bibliotecas .NET do Azure DevOps Bibliotecas de clientes do .NET com OAuth Aplicativo de console da biblioteca do cliente
Aplicativos sem cabeça/CLI Ferramentas de linha de comando nãointerativas Criar scripts, ferramentas de automação Fluxo de concessão de autorização do dispositivo Perfil do dispositivo
Extensões do Azure DevOps Extensões em execução no Azure DevOps Widgets de painel de controle personalizados e formulários de tarefa SDK de extensão da Web do Azure DevOps Adicionar um widget de painel
Aplicativos do Servidor do Azure DevOps Integrações locais do Azure DevOps Server Extensões de servidor personalizadas Bibliotecas de clientes do .NET ou Autenticação do Windows Aplicativo de console da biblioteca do cliente
Scripts pessoais/ad hoc Scripts rápidos para uso pessoal Scripts do PowerShell, comandos de curl Tokens de acesso pessoal Introdução às APIs REST

Sugestões para começar

As seções a seguir fornecem recomendações para introdução em cenários diferentes.

Novos aplicativos

Aplicativos existentes

  • Planeje a migração de tokens de acesso pessoal para Microsoft Entra ID authentication.
  • Considere a linha do tempo de migração de autenticação para melhorias no Azure DevOps e a redução do uso de tokens de acesso pessoal.
  • Examine sua abordagem de autenticação atual em relação às práticas recomendadas de segurança.

Azure DevOps Server

  • Use bibliotecas de cliente .NET com a Autenticação do Windows quando possível.
  • Use tokens de acesso pessoal para cenários do Servidor do Azure DevOps quando eles forem aceitáveis.
  • Planeje a futura migração do Azure DevOps Services para aproveitar a autenticação moderna.

Respostas a perguntas comuns

As seções a seguir fornecem respostas para perguntas frequentes.

Devo usar o Microsoft Entra ID OAuth ou tokens de acesso pessoal?

Use o Microsoft Entra ID OAuth nos seguintes cenários:

  • Novos aplicativos e integrações
  • Cargas de trabalho de produção que exigem segurança robusta
  • Aplicativos que precisam de integração de identidade empresarial
  • Projetos de longo prazo com requisitos de conformidade

Use apenas tokens de acesso pessoal nos seguintes cenários:

  • Scripts pessoais e tarefas ad hoc
  • Aplicativos herdados durante o planejamento de migração
  • Cenários do Servidor do Azure DevOps em que a autenticação moderna não está disponível

Devo usar princípios de serviço ou delegação de usuário para autenticação?

Use entidades de serviço ou identidades gerenciadas nos seguintes cenários:

  • Crie aplicativos que operam de forma independente (serviços em segundo plano, automação).
  • Crie aplicativos que não exigem interação do usuário.
  • Implemente a comunicação serviço a serviço.
  • Crie pipelines de CI/CD (integração contínua e entrega contínua) ou fluxos de trabalho automatizados.

Use a delegação de usuário (OAuth com consentimento do usuário) nos seguintes cenários:

  • Crie aplicativos que atuem para usuários humanos.
  • Crie aplicativos interativos em que os usuários entrem com suas próprias credenciais.
  • Implementar recursos que exigem permissões específicas do usuário.
  • Crie aplicativos que respeitem os direitos de acesso individuais dos usuários.

Como fazer para autenticar com o Azure DevOps Services e o Azure DevOps Server?

A melhor prática é criar caminhos de autenticação separados:

  • Azure DevOps Services: use o Microsoft Entra ID OAuth.
  • Servidor do Azure DevOps: use bibliotecas cliente do .NET com a autenticação do Windows ou tokens de acesso pessoal.

Use o requestContext método para detectar o tipo de serviço e aplicar o método de autenticação apropriado.

Por que minha conta de serviço não pode acessar AS APIs do Azure DevOps?

Aqui estão alguns problemas comuns que podem afetar o acesso à conta de serviço:

  • Conta de serviço não "materializada": use o método de entrada correto. As contas de serviço precisam de permissões interativas de entrada ou de um registro apropriado no Microsoft Entra ID.
  • Permissões insuficientes: verifique se a conta de serviço tem permissões apropriadas do Azure DevOps.
  • Método de autenticação: use entidades de serviço ou identidades gerenciadas em vez de tentar se autenticar como uma conta de serviço.

Como fazer para migrar de tokens de acesso pessoal para a autenticação moderna?

Siga estas etapas:

  1. Identifique o uso atual do token de acesso pessoal em seus aplicativos.

  2. Escolha um método de autenticação alternativo:

    • Microsoft Entra ID OAuth para cenários de delegação de usuário
    • Entidades de serviço para cenários de serviço a serviço
  3. Atualize o código de autenticação usando os exemplos de autenticação de migração do Azure DevOps.

  4. Teste as alterações minuciosamente antes de remover as dependências do token de acesso pessoal.

  5. Monitore e valide o novo método de autenticação.

Procedimentos de implementação

Depois de escolher o método de autenticação para seu cenário, conclua a implementação: