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.
Serviços do Azure DevOps
Saiba como usar o OAuth 2.0 para autenticar seus aplicativos para acesso à API REST do Azure DevOps sem exigir que os usuários forneçam credenciais repetidamente.
Importante
Recomendamos que você use o Microsoft Entra ID OAuth para novos aplicativos. O Azure DevOps OAuth 2.0 foi preterido e não aceita mais novos registros a partir de abril de 2025, com a substituição completa prevista para 2026.
Como o OAuth 2.0 funciona com o Azure DevOps
Observação
O OAuth 2.0 está disponível apenas para o Azure DevOps Services, não para o Azure DevOps Server. Para cenários locais, use bibliotecas de cliente, Autenticação do Windows ou tokens de acesso pessoal.
O Azure DevOps Services usa o protocolo OAuth 2.0 para autorizar aplicativos e gerar tokens de acesso para chamadas à API REST. O processo envolve as seguintes etapas:
- Registro de aplicativo: registre seu aplicativo com o provedor OAuth.
- Autorização do usuário: conceda permissão para que seu aplicativo acesse os dados do usuário.
- Troca de tokens: receba um token de acesso para fazer chamadas à API.
- Acesso à API: use o token para solicitações de API REST autenticadas.
- Atualização de token: atualize tokens expirados para manter o acesso.
Opções de implementação do OAuth
Escolha a implementação apropriada do OAuth com base nas necessidades do aplicativo.
Microsoft Entra ID OAuth (recomendado)
O Microsoft Entra ID OAuth fornece o método de autenticação mais seguro e à prova de futuro para aplicativos do Azure DevOps. Os benefícios incluem:
- Integração empresarial: integração perfeita com a infraestrutura existente do Microsoft Entra ID.
- Segurança aprimorada: os recursos de segurança avançados incluem o Acesso Condicional do Microsoft Entra e a autenticação multifator.
- Suporte futuro: plataforma ativamente mantida e com suporte.
- Identidade unificada: experiência de logon único nos serviços da Microsoft.
Introdução: Siga nosso guia do Microsoft Entra ID OAuth para obter detalhes de implementação e diretrizes de migração.
OAuth do Azure DevOps (preterido)
Aviso
O OAuth do Azure DevOps foi preterido. Novos registros de aplicativo não são mais aceitos a partir de abril de 2025. O serviço está agendado para substituição completa em 2026. Migrar aplicativos existentes para o Microsoft Entra ID OAuth.
Para aplicativos OAuth do Azure DevOps existentes:
- Examine o guia OAuth do Azure DevOps para obter detalhes de implementação atuais.
- Planeje a migração para o Microsoft Entra ID OAuth antes de 2026.
- Gerencie as autorizações de aplicativo existentes conforme necessário.
Planejamento de migração: comece a planejar sua migração para o Microsoft Entra ID OAuth mais cedo. O guia de migração fornece dicas e considerações para uma transição suave.
Escopos do OAuth
Os escopos definem quais recursos do Azure DevOps seu aplicativo pode acessar. Tanto o Microsoft Entra ID OAuth quanto o OAuth do Azure DevOps usam as mesmas definições de escopo.
Considerações de escopo chave
- Princípio de privilégio mínimo: solicite apenas os escopos mínimos de que seu aplicativo precisa.
-
Herança de escopo: Alguns escopos incluem outros (por exemplo,
vso.code_manageincluivso.code_write). - Cobertura da API: os escopos permitem o acesso às APIs REST e selecionam somente pontos de extremidade do Git (NÃO há suporte para APIs SOAP).
- Consentimento do usuário: os usuários devem conceder permissão explicitamente para cada escopo solicitado.
Localizar escopos necessários
Para determinar quais escopos seu aplicativo precisa:
- Verifique a documentação de referência da API para cada ponto de extremidade que você planeja usar.
- Busque o
scopescabeçalho em cada página da API. - Para evitar a solicitação de permissões redundantes, considere as relações de escopo.
Escopos disponíveis
| Categoria | Scope | Nome | Privilégio alto | Descrição | Herda de |
|---|---|---|---|---|---|
| Segurança avançada | vso.advsec |
Segurança avançada (leitura) | Sim | Concede a capacidade de ler alertas, instâncias de resultados e instâncias de resultados de análise. | |
vso.advsec_write |
Segurança avançada (leitura e gravação) | Sim | Concede a capacidade de carregar análises no serif. | vso.advsec |
|
vso.advsec_manage |
Segurança avançada (leitura, gravação e gerenciamento) | Sim | Concede a capacidade de carregar análises no serif. | vso.advsec_write |
|
| Pools de agentes | vso.agentpools |
Pools de agentes (leitura) | Concede a capacidade de visualizar tarefas, pools, filas, agentes e trabalhos em execução ou concluídos recentemente para agentes. | ||
vso.agentpools_manage |
Pools de agentes (ler e gerenciar) | Sim | Concede a capacidade de gerenciar pools, filas e agentes. | vso.agentpools |
|
vso.environment_manage |
Ambiente (ler e gerenciar) | Sim | Concede a capacidade de gerenciar pools, filas, agentes e ambientes. | vso.agentpools_manage |
|
| Análises de dados | vso.analytics |
Análise (leitura | Concede a capacidade de consultar dados de análise. | ||
| Auditing | vso.auditlog |
Log de auditoria (leitura) | Concede a capacidade de ler o log de auditoria aos usuários. | ||
vso.auditstreams_manage |
Fluxos de auditoria (leitura) | Sim | Concede a capacidade de gerenciar fluxos de auditoria aos usuários. | vso.auditlog |
|
| Construir | vso.build |
Build (leitura) | Concede a capacidade de acessar artefatos de compilação, incluindo resultados de compilação, definições e solicitações, e a capacidade de receber notificações sobre eventos de compilação por meio de hooks de serviço. | vso.hooks_write |
|
vso.build_execute |
Build (leitura e execução) | Sim | Concede a capacidade de acessar artefatos de build, incluindo resultados de build, definições e solicitações. Também concede a capacidade de enfileirar um build, atualizar propriedades de build e receber notificações sobre eventos de build por meio de ganchos de serviço. | vso.build |
|
| Code | vso.code |
Código (leitura) | Concede a capacidade de ler código-fonte e metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também oferece a possibilidade de pesquisar código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. | vso.hooks_write |
|
vso.code_write |
Código (ler e escrever) | Sim | Concede a capacidade de ler, atualizar e excluir o código-fonte e acessar metadados sobre commits, conjuntos de alterações, branches e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar solicitações de pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. | vso.code |
|
vso.code_manage |
Código (leitura, gravação e gerenciamento) | Sim | Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar repositórios de código, criar e gerenciar solicitações de pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. | vso.code_write |
|
vso.code_full |
Código (completo) | Sim | Concede acesso total ao código-fonte, metadados sobre confirmações, conjuntos de alterações, ramificações e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar repositórios de código, criar e gerenciar solicitações de pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço. Também inclui suporte limitado para APIs OM do cliente. | vso.code_manage |
|
vso.code_status |
Código (status) | Concede a capacidade de ler e gravar status de confirmação e solicitação de pull. | |||
| Servidor conectado | vso.connected_server |
Servidor conectado | Garante a capacidade de acessar os endpoints necessários de um servidor local conectado. | ||
| Direitos | vso.entitlements |
Direitos (leitura) | Concede acesso somente leitura a pontos de extremidade de direitos de licenciamento para obter direitos de conta. | ||
vso.memberentitlementmanagement |
Gerenciamento de direitos de membro (leitura) | Concede a capacidade de ler usuários, suas licenças e os projetos e extensões que eles podem acessar. | |||
vso.memberentitlementmanagement_write |
Gerenciamento de direitos de membro (gravação) | Sim | Concede a capacidade de gerenciar usuários e suas licenças e os projetos e extensões que eles podem acessar. | vso.memberentitlementmanagement |
|
| Extensions | vso.extension |
Extensões (leitura) | Concede a capacidade de ler extensões instaladas. | vso.profile |
|
vso.extension_manage |
Extensões (leitura e gerenciamento) | Sim | Concede a capacidade de instalar, desinstalar e executar outras ações administrativas em extensões instaladas. | vso.extension |
|
vso.extension.data |
Dados de extensão (leitura) | Concede a capacidade de ler dados (configurações e documentos) armazenados por extensões instaladas. | vso.profile |
||
vso.extension.data_write |
Dados de extensão (leitura e gravação) | Concede a capacidade de ler e gravar dados (configurações e documentos) armazenados por extensões instaladas. | vso.extension.data |
||
| Conexões do GitHub | vso.githubconnections |
Conexões do GitHub (leitura) | Concede a capacidade de ler conexões do GitHub e dados de repositórios do GitHub. | ||
vso.githubconnections_manage |
Conexões do GitHub (ler e gerenciar) | Sim | Concede a capacidade de ler e gerenciar conexões do GitHub e dados de repositórios do GitHub. | vso.githubconnections |
|
| Grafo e identidade | vso.graph |
Gráfico (leitura) | Concede a capacidade de ler informações de usuário, grupo, escopo e associação de grupo. | ||
vso.graph_manage |
Gráfico (gerenciamento) | Sim | Concede a capacidade de ler informações de usuário, grupo, escopo e associação de grupo, adicionar usuários e grupos e gerenciar associações de grupo. | vso.graph |
|
vso.identity |
Identidade (leitura) | Concede a capacidade de ler identidades e grupos. | |||
vso.identity_manage |
Identidade (gerenciar) | Sim | Concede a capacidade de ler, gravar e gerenciar identidades e grupos. | vso.identity |
|
| Grupo de computadores | vso.machinegroup_manage |
Grupo de implantação (leitura, gerenciamento) | Sim | Concede a capacidade de gerenciar grupos de implantação e pools de agentes. | vso.agentpools_manage |
| Marketplace | vso.gallery |
Marketplace | Concede acesso de leitura a itens públicos e privados e a editores. | vso.profile |
|
vso.gallery_acquire |
Marketplace (aquisição) | Concede acesso de leitura e permite adquirir itens. | vso.gallery |
||
vso.gallery_publish |
Marketplace (publicação) | Sim | Concede acesso de leitura e a capacidade de carregar, atualizar e compartilhar itens. | vso.gallery |
|
vso.gallery_manage |
Marketplace (gerenciar) | Sim | Concede acesso de leitura e a capacidade de publicar e gerenciar itens e editores. | vso.gallery_publish |
|
| Notifications | vso.notification |
Notificações (lidas) | Concede acesso de leitura a assinaturas e metadados de evento, incluindo valores de campo filtrados. | vso.profile |
|
vso.notification_write |
Notificações (escrita) | Concede acesso de leitura e gravação a assinaturas e acesso de leitura a metadados de evento, incluindo valores de campo filtrados. | vso.notification |
||
vso.notification_manage |
Notificações (gerenciar) | Concede acesso de leitura, gravação e gerenciamento a assinaturas e acesso de leitura a metadados de evento, incluindo valores de campo filtrados. | vso.notification_write |
||
vso.notification_diagnostics |
Notificações (diagnóstico) | Concede acesso aos logs de diagnóstico relacionados à notificação e concede a capacidade de habilitar o diagnóstico para assinaturas individuais. | vso.notification |
||
| Empacotamento | vso.packaging |
Empacotamento (leitura) | Concede a capacidade de ler feeds e pacotes. | vso.profile |
|
vso.packaging_write |
Empacotamento (leitura e gravação) | Sim | Permite a capacidade de criar e ler feeds e pacotes. | vso.packaging |
|
vso.packaging_manage |
Empacotamento (leitura, gravação e gerenciamento) | Sim | Concede a capacidade de criar, ler, atualizar e excluir feeds e pacotes. | vso.packaging_write |
|
| Recursos de pipeline | vso.pipelineresources_use |
Recursos de pipeline (uso) | Sim | Concede a capacidade de aprovar a solicitação de um pipeline para usar um recurso protegido: pool de agentes, ambiente, fila, repositório, arquivos seguros, conexão de serviço e grupo de variáveis. | |
vso.pipelineresources_manage |
Recursos de pipeline (usar e gerenciar) | Sim | Concede a capacidade de gerenciar um recurso protegido ou a solicitação de um pipeline para usar um recurso protegido: pool de agentes, ambiente, fila, repositório, arquivos seguros, conexão de serviço e grupo de variáveis. | vso.pipelineresources_use |
|
| Projeto e equipe | vso.project |
Projeto e equipe (resumo) | Concede a capacidade de ler projetos e equipes. | ||
vso.project_write |
Projeto e equipe (leitura e escrita) | Concede a capacidade de ler e atualizar projetos e equipes. | vso.project |
||
vso.project_manage |
Projeto e equipe (ler, gravar e gerenciar) | Sim | Concede a capacidade de criar, ler, atualizar e excluir projetos e equipes. | vso.project_write |
|
| Liberação | vso.release |
Liberar (leitura) | Concede a capacidade de ler artefatos de versão, incluindo versões, definições de versão e ambiente de versão. | vso.profile |
|
vso.release_execute |
Versão (leitura, gravação e execução) | Sim | Concede a capacidade de ler e atualizar artefatos de versão, incluindo versões, definições de versão e ambiente de versão. Também concede a capacidade de enfileirar uma nova versão. | vso.release |
|
vso.release_manage |
Versão (ler, gravar, executar e gerenciar) | Sim | Concede a capacidade de ler, atualizar e excluir artefatos de versão, incluindo versões, definições de versão e ambiente de versão. Também concede a capacidade de fazer fila e aprovar uma nova versão. | vso.release_execute |
|
| Arquivos seguros | vso.securefiles_read |
Arquivos seguros (leitura) | Sim | Concede a capacidade de ler arquivos seguros. | |
vso.securefiles_write |
Proteger arquivos (ler e criar) | Sim | Concede a capacidade de ler e criar arquivos seguros. | vso.securefiles_read |
|
vso.securefiles_manage |
Proteger arquivos (ler, criar e gerenciar) | Sim | Concede a capacidade de ler, criar e gerenciar arquivos seguros. | vso.securefiles_write |
|
| Segurança | vso.security_manage |
Segurança (gerenciar) | Sim | Concede a capacidade de ler, gravar e gerenciar permissões de segurança. | |
| Conexões de serviço | vso.serviceendpoint |
Pontos de extremidade de serviço (leitura) | Permite a leitura de pontos de extremidade de serviço. | vso.profile |
|
vso.serviceendpoint_query |
Pontos de extremidade de serviço (leitura e consulta) | Concede a capacidade de ler e consultar pontos de extremidade de serviço. | vso.serviceendpoint |
||
vso.serviceendpoint_manage |
Pontos de extremidade de serviço (ler, consultar e gerenciar) | Sim | Concede a capacidade de ler, consultar e gerenciar pontos de extremidade de serviço. | vso.serviceendpoint_query |
|
| Ganchos de serviço | vso.hooks |
Hooks de serviço (leitura) | Concede a capacidade de ler assinaturas e metadados de hooks de serviço, incluindo eventos, consumidores e ações compatíveis. (Não é mais público.) | vso.profile |
|
vso.hooks_write |
Hooks de serviço (leitura e gravação) | Concede a capacidade de criar e atualizar assinaturas de hooks de serviço e ler metadados, incluindo eventos, consumidores e ações compatíveis. (Não é mais público.) | vso.hooks |
||
vso.hooks_interact |
Hooks de serviço (interação) | Concede a capacidade de interagir e executar ações em eventos recebidos por meio de hooks de serviço. (Não é mais público.) | vso.profile |
||
| Configurações | vso.settings |
Configurações (leitura) | Concede a capacidade de ler configurações. | ||
vso.settings_write |
Configurações (leitura e gravação) | Concede a capacidade de ler e gravar configurações. | vso.settings |
||
| Símbolos | vso.symbols |
Símbolos (leitura) | Concede a capacidade de ler símbolos. | vso.profile |
|
vso.symbols_write |
Símbolos (leitura e gravação) | Concede a capacidade de ler e escrever símbolos. | vso.symbols |
||
vso.symbols_manage |
Símbolos (ler, gravar e gerenciar) | Concede a capacidade de ler, escrever e gerenciar símbolos. | vso.symbols_write |
||
| Grupos de tarefas | vso.taskgroups_read |
Grupos de tarefas (leitura) | Concede a capacidade de ler grupos de tarefas. | ||
vso.taskgroups_write |
Grupos de tarefas (ler e criar) | Concede a capacidade de ler e criar grupos de tarefas. | vso.taskgroups_read |
||
vso.taskgroups_manage |
Grupos de tarefas (ler, criar e gerenciar) | Sim | Concede a capacidade de ler, criar e gerenciar grupos de tarefas. | vso.taskgroups_write |
|
| Painel de equipe | vso.dashboards |
Painéis de equipe (leitura) | Concede a permissão para ler informações do painel da equipe. | ||
vso.dashboards_manage |
Painéis de equipe (gerenciar) | Concede a capacidade de gerenciar informações do painel da equipe. | vso.dashboards |
||
| Gerenciamento de teste | vso.test |
Gerenciamento de testes (leitura) | Concede a capacidade de ler planos de teste, casos, resultados e outros artefatos relacionados ao gerenciamento de teste. | vso.profile |
|
vso.test_write |
Gerenciamento de testes (leitura e gravação) | Concede a capacidade de ler, criar e atualizar planos de teste, casos, resultados e outros artefatos relacionados ao gerenciamento de teste. | vso.test |
||
| Threads | vso.threads_full |
Threads de PR | Concede a capacidade de ler e escrever em tópicos de comentários de solicitação de pull. | ||
| Tokens | vso.tokens |
Tokens de autorização delegados | Sim | Concede a capacidade de gerenciar tokens de autorização delegada aos usuários. | |
vso.tokenadministration |
Administração de token | Sim | Concede a capacidade de gerenciar (visualizar e revogar) tokens existentes aos administradores da organização. | ||
| Perfil do usuário | vso.profile |
Perfil do usuário (leitura) | Concede a capacidade de ler seu perfil, contas, coleções, projetos, equipes e outros artefatos organizacionais de nível superior. | ||
vso.profile_write |
Perfil do usuário (escrever) | Concede a capacidade de escrever em seu perfil. | vso.profile |
||
| Grupos de variáveis | vso.variablegroups_read |
Grupos de variáveis (leitura) | Concede a capacidade de ler grupos de variáveis. | ||
vso.variablegroups_write |
Grupos de variáveis (ler e criar) | Concede a capacidade de ler e criar grupos de variáveis. | vso.variablegroups_read |
||
vso.variablegroups_manage |
Grupos de variáveis (ler, criar e gerenciar) | Sim | Concede a capacidade de ler, criar e gerenciar grupos de variáveis. | vso.variablegroups_write |
|
| Wiki | vso.wiki |
Wiki (leitura) | Concede a capacidade de ler wikis, páginas wiki e anexos wiki. Também concede a capacidade de pesquisar páginas wiki. | ||
vso.wiki_write |
Wiki (ler e escrever) | Concede a capacidade de ler, criar e atualizar wikis, páginas wiki e anexos wiki. | vso.wiki |
||
| Itens de trabalho | vso.work |
Itens de trabalho (leitura) | Concede a capacidade de ler itens de trabalho, consultas, placas, caminhos de área e iterações e outros metadados relacionados ao acompanhamento de itens de trabalho. Também concede a capacidade de executar consultas, pesquisar itens de trabalho e receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. | vso.hooks_write |
|
vso.work_write |
Itens de trabalho (leitura e gravação) | Concede a capacidade de ler, criar e atualizar itens de trabalho e consultas, atualizar metadados do quadro, ler caminhos de área e iterações e outros metadados relacionados ao acompanhamento de item de trabalho, executar consultas e receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. | vso.work |
||
vso.work_full |
Itens de trabalho (completos) | Concede acesso total a itens de trabalho, consultas, listas de pendências, planos e metadados de acompanhamento de item de trabalho. Também concede a capacidade de receber notificações sobre eventos de item de trabalho por meio de ganchos de serviço. | vso.work_write |
||
| Representação do usuário | user_impersonation |
Representação do usuário | Sim | Concede acesso total às APIs REST do Visual Studio Team Services. Solicite ou consenta esse escopo com cuidado porque ele é muito poderoso. |
Perguntas frequentes
Q. Posso usar o OAuth com aplicativos móveis?
A. Não. O Azure DevOps Services dá suporte apenas ao fluxo do servidor Web (fluxo de código de autorização), que requer o armazenamento seguro de um segredo do aplicativo. Aplicativos móveis não podem armazenar segredos com segurança, o que torna o OAuth inadequado para cenários móveis.
Alternativa para aplicativos móveis: use tokens de acesso pessoal para autenticação de aplicativos móveis.
Q. O OAuth funciona com todas as APIs do Azure DevOps?
A. O OAuth dá suporte a APIs REST e seleciona apenas pontos de extremidade git. As APIs SOAP não dão suporte à autenticação OAuth.
Q. Como fazer para migrar do OAuth do Azure DevOps para o Microsoft Entra ID OAuth?
A. Siga o guia de migração do Microsoft Entra ID OAuth, que inclui:
- Instruções de migração passo a passo.
- Exemplos de código e práticas recomendadas.
- Considerações sobre a linha do tempo para a substituição.
Q. O que acontece com meu aplicativo OAuth do Azure DevOps existente após 2026?
A. Os aplicativos OAuth do Azure DevOps existentes param de funcionar quando o serviço é totalmente preterido em 2026. Planeje sua migração para o Microsoft Entra ID OAuth bem antes deste prazo.
Escolha seu caminho de implementação
- Para novos aplicativos:Compilar com o Microsoft Entra ID OAuth
- Para aplicativos OAuth do Azure DevOps existentes:planeje sua migração para a ID do Microsoft Entra
- Para aplicativos existentes que precisam de suporte imediato:documentação do OAuth do Azure DevOps