Escolher o mecanismo de autenticação certo
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Para aplicativos que fazem interface com os Serviços de DevOps do Azure, você deve autenticar para obter acesso a recursos como APIs REST. Este artigo fornece orientação para ajudá-lo a escolher o mecanismo de autenticação certo para seu aplicativo.
A tabela a seguir descreve os mecanismos de autenticação recomendados para diferentes tipos de aplicativos. Consulte as descrições, exemplos e exemplos de código que o acompanham para ajudá-lo a começar.
Tipo de aplicação | Description | Exemplo | Mecanismo de autenticação | Amostras de código |
---|---|---|---|---|
Aplicativo interativo do lado do cliente (REST) | Aplicativo cliente que permite a interação do usuário chamando APIs REST dos Serviços de DevOps do Azure | Aplicativo de console enumerando projetos em uma organização | Biblioteca de Autenticação da Microsoft (MSAL) | amostra |
Aplicativo interativo do lado do cliente (bibliotecas cliente) | Aplicativo cliente que permite a interação do usuário chamando bibliotecas de cliente dos Serviços de DevOps do Azure | Aplicativo de console enumerando bugs atribuídos ao usuário atual | Bibliotecas de cliente | amostra |
Aplicação JavaScript interativa | Aplicação JavaScript baseada em GUI | Aplicativo de página única AngularJS exibindo informações do projeto para um usuário | Biblioteca de Autenticação da Microsoft para JavaScript (MSAL JS) | amostra |
Aplicação Web OAuth interativa | Aplicação Web baseada em GUI que requer o consentimento do utilizador | Painel da Web personalizado exibindo resumos de compilação | OAuth | amostra |
Aplicativo não interativo do lado do cliente | Aplicação do lado do cliente apenas texto sem cabeça | Aplicativo de console exibindo todos os bugs atribuídos a um usuário | Perfil do dispositivo | amostra |
Token de acesso pessoal (PAT) | Token ao portador para aceder aos seus próprios recursos | Utilize a sua PAT em vez da sua palavra-passe para pedidos REST. Não é ideal para aplicações de construção. | PATs | documentos |
Aplicativo de servidor | Aplicativo Azure DevOps Server usando a biblioteca Client OM | Extensão do Azure DevOps Server exibindo painéis de bugs da equipe | Bibliotecas de clientes | amostra |
Aplicativo de entidades de serviço | Aplicativo com acesso aos recursos do Azure DevOps da organização | Função do Azure para criar itens de trabalho | Entidades de serviço e identidades gerenciadas | amostra |
Extensão Web | Extensão dos Serviços de DevOps do Azure | Extensão Agile Cards | SDK de extensão da Web VSS | amostra |
Para obter mais informações, consulte os seguintes artigos:
- Sobre segurança e identidade.
- Autenticação OAuth
- Entidades de serviço e identidades gerenciadas
- Bibliotecas de cliente do Azure DevOps
- Extensões do Azure DevOps
- Visão geral da proteção de dados do Azure DevOps
Habilitar a Autenticação Básica do IIS invalida o uso de PATs para o Servidor de DevOps do Azure
Para obter mais informações, consulte Usando a autenticação básica do IIS com o Azure DevOps local.
Perguntas mais frequentes (FAQ)
P: Por que minha conta de serviço não pode acessar a API REST do Azure DevOps?
R: A sua conta de serviço pode não ter "materializado". As contas de serviço sem permissões de início de sessão interativo não podem iniciar sessão. Para obter mais informações, consulte esta solução alternativa para obter uma solução.
P: Devo usar as Bibliotecas de Cliente dos Serviços de DevOps do Azure ou as APIs REST dos Serviços de DevOps do Azure para meu aplicativo interativo do lado do cliente?
R: Recomendamos usar as Bibliotecas de Cliente dos Serviços de DevOps do Azure em APIs REST para acessar os recursos dos Serviços de DevOps do Azure. Eles são mais simples e fáceis de manter quando as versões do ponto de extremidade REST mudam. Se as bibliotecas de cliente não tiverem determinadas funcionalidades, use o MSAL para autenticação com nossas APIs REST.
P: Esta orientação é apenas para os Serviços de DevOps do Azure ou também é relevante para utilizadores do Azure DevOps Server no local?
R: Esta orientação destina-se principalmente aos utilizadores dos Serviços de DevOps do Azure. Para usuários do Servidor Devops do Azure, recomendamos usar as Bibliotecas de Cliente, a Autenticação do Windows ou os Tokens de Acesso Pessoal (PATs) para autenticação.
P: E se eu quiser que meu aplicativo se autentique com o Servidor de DevOps do Azure e os Serviços de DevOps do Azure?
R: A prática recomendada é ter caminhos de autenticação separados para o Servidor de DevOps do Azure e os Serviços de DevOps do Azure. Você pode usar o requestContext
para determinar qual serviço está acessando e, em seguida, aplicar o mecanismo de autenticação apropriado. Se preferir uma solução unificada, os PATs funcionam para ambos.