Partilhar via


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

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

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

Importante

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

O OAuth 2.0 e a autenticação do Microsoft Entra ID estão disponíveis apenas para os Serviços de DevOps do Azure, não para o Servidor de DevOps do Azure.

Para cenários locais, utilize as bibliotecas de cliente .NET, a autenticação do Windows ou os 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 aplicação Descrição Exemplo Método recomendado Exemplos de código
Aplicações Web/ambiente de trabalho Aplicativos interativos usando estruturas atuais Aplicativo React, aplicativo de área de trabalho .NET Microsoft Entra OAuth com a Biblioteca de Autenticação da Microsoft (MSAL) Aplicativo de console cliente gerenciado
Aplicativos de serviço/em 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 Principais de serviço
Aplicativos cliente herdados Aplicativos existentes usando bibliotecas de cliente Aplicativos de console com bibliotecas .NET do Azure DevOps Bibliotecas de cliente .NET com OAuth Aplicativo de console da biblioteca cliente
Aplicativos sem cabeça/CLI Ferramentas de linha de comando não interativas Crie scripts e ferramentas de automação Fluxo de concessão de autorização de dispositivo Perfil do dispositivo
Extensões do Azure DevOps Extensões em execução no Azure DevOps Widgets de painel personalizados e formulários de item de trabalho SDK da extensão Web do Azure DevOps Adicionar um widget de painel
Aplicativos do Azure DevOps Server Integrações locais do Azure DevOps Server Extensões de servidor personalizadas Bibliotecas de cliente .NET ou Windows Auth Aplicativo de console da biblioteca cliente
Scripts pessoais/ad hoc Scripts rápidos para uso pessoal Scripts do PowerShell, comandos curl Tokens de acesso pessoal Introdução às APIs REST

Sugestões para começar

As seções a seguir fornecem recomendações para começar em diferentes cenários.

Novas aplicações

Aplicações existentes

  • Planeje a migração de tokens de acesso pessoal para a autenticação do Microsoft Entra ID.
  • Considere o cronograma de migração de autenticação para melhorias no Azure DevOps e redução do uso de tokens de acesso pessoal.
  • Analise 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 Autenticação do Windows quando possível.
  • Use tokens de acesso pessoal para cenários do Azure DevOps Server quando eles forem aceitáveis.
  • Planeje a migração futura dos Serviços de DevOps do Azure para aproveitar a autenticação moderna.

Respostas a perguntas comuns

As secções seguintes fornecem respostas a perguntas frequentes.

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

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

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

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

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

Devo usar entidades 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.
  • Implementar comunicação serviço-a-serviço.
  • Crie pipelines de integração contínua e entrega contínua (CI/CD) 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 atuam para usuários humanos.
  • Crie aplicativos interativos onde os usuários entram com suas próprias credenciais.
  • Implemente recursos que exijam permissões específicas do usuário.
  • Crie aplicações que respeitem os direitos de acesso individuais dos utilizadores.

Como faço para me autenticar com os Serviços de DevOps do Azure e o Servidor de DevOps do Azure?

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

  • Serviços de DevOps do Azure: use o Microsoft Entra ID OAuth.
  • Azure DevOps Server: Use bibliotecas de cliente .NET com Autenticação do Windows ou tokens de acesso pessoal.

Use o requestContext método para detetar o tipo de serviço e aplique 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 de entrada interativas ou de registro adequado do Microsoft Entra ID.
  • Permissões insuficientes: verifique se a conta de serviço tem as permissões apropriadas do Azure DevOps.
  • Método de autenticação: Use entidades de serviço ou identidades geridas em vez de tentar autenticar-se como uma conta de serviço.

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

Siga estes passos:

  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 delegados pelo utilizador
    • Principais entidades de serviço para cenários entre serviços
  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 exaustivamente antes de remover quaisquer dependências de token de acesso pessoal.

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

Procedimentos de execução

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