Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
- Crie integrações do Azure DevOps com aplicativos OAuth do Microsoft Entra para obter a melhor segurança e compatibilidade futura.
- Use entidades de serviço ou identidades gerenciadas para cenários de serviço a serviço.
- Evite tokens de acesso pessoal em aplicativos de produção.
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:
Identifique o uso atual do token de acesso pessoal em seus aplicativos.
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
Atualize o código de autenticação usando os exemplos de autenticação de migração do Azure DevOps.
Teste as alterações minuciosamente antes de remover as dependências do token de acesso pessoal.
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:
- Novos aplicativos: criar integrações do Azure DevOps com aplicativos OAuth do Microsoft Entra
- Aplicativos de Serviço: Uso de entidades de serviço e identidades gerenciadas no Azure DevOps
- Scripts pessoais: Usar tokens de acesso pessoal