Autorización del acceso a las API REST con OAuth 2.0
Azure DevOps Services
Obtenga información sobre cómo autenticar a los usuarios de la aplicación web para el acceso a la API REST, por lo que la aplicación no sigue pidiendo nombres de usuario y contraseñas.
Nota:
- Las instrucciones siguientes están pensadas para los usuarios de Azure DevOps Services, ya que OAuth 2.0 no se admite en Azure DevOps Server. Las bibliotecas cliente son una serie de paquetes creados específicamente para ampliar Azure DevOps Server funcionalidad. Para los usuarios locales, se recomienda usar bibliotecas cliente, autenticación de Windows o tokens de acceso personal (PAT) para autenticarse en nombre de un usuario.
- Para obtener más información, consulte el ejemplo de GitHub de OAuth de C#.
Acerca de OAuth 2.0
Azure DevOps Services usa el protocolo OAuth 2.0 para autorizar la aplicación para un usuario y generar un token de acceso. Use este token cuando llame a las API de REST desde su aplicación. Cuando llame a las API de Azure DevOps Services para ese usuario, use el token de acceso de ese usuario. Los tokens de acceso expiran, así que actualiza el token de acceso si ha expirado.
Modelos de OAuth disponibles
Al crear una aplicación de OAuth 2.0, use OAuth id. de Microsoft Entra. Todavía se admite Azure DevOps OAuth 2.0, pero en este momento no estamos invirtiendo en este modelo.
Microsoft Entra ID OAuth
Al crear una aplicación OAuth de id. de Microsoft Entra, la aplicación emite tokens de Microsoft Entra, no tokens de acceso de Azure DevOps. Estos tokens tienen una duración estándar de una hora antes de la expiración.
Para más información, consulte los siguientes artículos.
- Registro de una aplicación con la plataforma de identidad de Microsoft
- Flujo con derechos delegados de OAuth 2.0 y Plataforma de identidad de Microsoft
- Configurar una aplicación cliente para acceder a una API web: en el ejemplo vinculado se muestra cómo elegir un permiso para el recurso de Microsoft Graph. Al crear una aplicación, seleccione
Azure DevOps
en la lista de recursos en su lugar. - Administración de PAT mediante API
Nota:
Al crear aplicaciones que usan otras API, asegúrese de seleccionar los ámbitos necesarios para esas API.
Azure DevOps OAuth
En el caso de las aplicaciones existentes, use la guía de OAuth de Azure DevOps. También puede administrar qué aplicaciones de Azure DevOps están autorizadas.
Ámbitos
Se espera que los desarrolladores especifiquen qué ámbitos requieren de sus usuarios. Los ámbitos están disponibles en ambos modelos de OAuth. Los siguientes ámbitos solo están disponibles a través de flujos delegados (en nombre del usuario).
Para averiguar qué ámbitos necesita para la aplicación, busque en el encabezado de la scopes
página Referencia de API para cada API que use.
Algunos ámbitos pueden ser inclusivos de otros ámbitos, por ejemplo, code_manage
incluye code_write
. Tenga en cuenta cuál es el número mínimo de ámbitos que necesita al solicitar el consentimiento del ámbito de los usuarios.
Importante
Los ámbitos solo habilitan el acceso a las API REST y seleccionan puntos de conexión de Git. No se admite el acceso a la API SOAP.
Category | Ámbito | Nombre | Descripción |
---|---|---|---|
Grupos de agentes | vso.agentpools |
Grupos de agentes (lectura) | Concede la capacidad de ver tareas, grupos, colas, agentes y trabajos actualmente ejecutados o completados recientemente para agentes. |
vso.agentpools_manage |
Grupos de agentes (leer, administrar) | Concede la capacidad de administrar grupos, colas y agentes. | |
vso.environment_manage |
Entorno (lectura, administración) | Concede la capacidad de administrar grupos, colas, agentes y entornos. | |
Análisis | vso.analytics |
Análisis (lectura) | Concede la capacidad de consultar datos de análisis. |
Auditoría | vso.auditlog |
Registro de auditoría (lectura) | Concede la capacidad de leer el registro de auditoría a los usuarios. |
vso.auditstreams_manage |
Auditar Secuencias (leer) | Concede la capacidad de administrar flujos de auditoría a los usuarios. | |
Compilar | vso.build |
Compilar (leer) | Concede la capacidad de acceder a los artefactos de compilación, incluidos los resultados de compilación, las definiciones y las solicitudes, y la capacidad de recibir notificaciones sobre eventos de compilación a través de enlaces de servicio. |
vso.build_execute |
Compilación (lectura y ejecución) | Concede la capacidad de acceder a los artefactos de compilación, incluidos los resultados de compilación, las definiciones y las solicitudes, y la capacidad de poner en cola una compilación, actualizar las propiedades de compilación y la capacidad de recibir notificaciones sobre eventos de compilación a través de enlaces de servicio. | |
Código | vso.code |
Código (leer) | Concede la capacidad de leer código fuente y metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de buscar código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. |
vso.code_write |
Código (lectura y escritura) | Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar solicitudes de incorporación de cambios y revisiones de código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. | |
vso.code_manage |
Código (lectura, escritura y administración) | Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar repositorios de código, crear y administrar solicitudes de incorporación de cambios y revisiones de código, y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. | |
vso.code_full |
Código (completo) | Concede acceso completo al código fuente, los metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar repositorios de código, crear y administrar solicitudes de incorporación de cambios y revisiones de código, y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. También incluye compatibilidad limitada con las API de OM de cliente. | |
vso.code_status |
Código (estado) | Concede la capacidad de leer y escribir la confirmación y el estado de la solicitud de incorporación de cambios. | |
servidor Conectar ed | vso.connected_server |
Servidor conectado | Concede la capacidad de acceder a los puntos de conexión necesarios desde un servidor conectado local. |
Derechos | vso.entitlements |
Derechos (lectura) | Proporciona acceso de solo lectura al punto de conexión de derechos de licencia para obtener derechos de cuenta. |
vso.memberentitlementmanagement |
Administración de MemberEntitlement (lectura) | Concede la capacidad de leer usuarios, sus licencias, así como proyectos y extensiones a los que pueden acceder. | |
vso.memberentitlementmanagement_write |
Administración de MemberEntitlement (escritura) | Concede la capacidad de administrar usuarios, sus licencias, así como proyectos y extensiones a los que pueden acceder. | |
Extensiones | vso.extension |
Extensiones (lectura) | Concede la capacidad de leer extensiones instaladas. |
vso.extension_manage |
Extensiones (leer y administrar) | Concede la capacidad de instalar, desinstalar y realizar otras acciones administrativas en las extensiones instaladas. | |
vso.extension.data |
Datos de extensión (lectura) | Concede la capacidad de leer datos (configuración y documentos) almacenados por extensiones instaladas. | |
vso.extension.data_write |
Datos de extensión (lectura y escritura) | Concede la capacidad de leer y escribir datos (configuración y documentos) almacenados por extensiones instaladas. | |
Graph & identity | vso.graph |
Gráfico (lectura) | Concede la capacidad de leer información de usuario, grupo, ámbito y pertenencia a grupos. |
vso.graph_manage |
Gráfico (administrar) | Concede la capacidad de leer información de usuarios, grupos, ámbito y pertenencia a grupos, y para agregar usuarios, grupos y administrar pertenencias a grupos. | |
vso.identity |
Identidad (leer) | Concede la capacidad de leer identidades y grupos. | |
vso.identity_manage |
Identidad (administrar) | Concede la capacidad de leer, escribir y administrar identidades y grupos. | |
Grupo de máquinas | vso.machinegroup_manage |
Grupo de implementación (lectura, administración) | Proporciona capacidad para administrar grupos de agentes y grupos de implementación. |
Marketplace | vso.gallery |
Marketplace | Concede acceso de lectura a elementos públicos y privados y publicadores. |
vso.gallery_acquire |
Marketplace (adquirir) | Concede acceso de lectura y la capacidad de adquirir elementos. | |
vso.gallery_publish |
Marketplace (publicación) | Concede acceso de lectura y la capacidad de cargar, actualizar y compartir elementos. | |
vso.gallery_manage |
Marketplace (administrar) | Concede acceso de lectura y la capacidad de publicar y administrar elementos y publicadores. | |
Notificaciones | vso.notification |
Notificaciones (lectura) | Proporciona acceso de lectura a suscripciones y metadatos de eventos, incluidos los valores de campo filtrables. |
vso.notification_write |
Notificaciones (escritura) | Proporciona acceso de lectura y escritura a suscripciones y acceso de lectura a metadatos de eventos, incluidos los valores de campo filtrables. | |
vso.notification_manage |
Notificaciones (administrar) | Proporciona acceso de lectura, escritura y administración a suscripciones y acceso de lectura a metadatos de eventos, incluidos los valores de campo filtrables. | |
vso.notification_diagnostics |
Notificaciones (diagnósticos) | Proporciona acceso a los registros de diagnóstico relacionados con la notificación y proporciona la capacidad de habilitar diagnósticos para suscripciones individuales. | |
Empaquetado | vso.packaging |
Empaquetado (lectura) | Concede la capacidad de leer fuentes y paquetes. |
vso.packaging_write |
Empaquetado (lectura y escritura) | Concede la capacidad de crear y leer fuentes y paquetes. | |
vso.packaging_manage |
Empaquetado (lectura, escritura y administración) | Concede la capacidad de crear, leer, actualizar y eliminar fuentes y paquetes. | |
Recursos de canalización | vso.pipelineresources_use |
Recursos de canalización (uso) | Concede la capacidad de aprobar la solicitud de una canalización para usar un recurso protegido: grupo de agentes, entorno, cola, repositorio, archivos seguros, conexión de servicio y grupo de variables. |
vso.pipelineresources_manage |
Recursos de canalización (uso y administración) | Concede la capacidad de administrar un recurso protegido o la solicitud de una canalización para usar un recurso protegido: grupo de agentes, entorno, cola, repositorio, archivos seguros, conexión de servicio y grupo de variables. | |
Proyecto y equipo | vso.project |
Proyecto y equipo (leer) | Concede la capacidad de leer proyectos y equipos. |
vso.project_write |
Proyecto y equipo (lectura y escritura) | Concede la capacidad de leer y actualizar proyectos y equipos. | |
vso.project_manage |
Proyecto y equipo (lectura, escritura y administración) | Concede la capacidad de crear, leer, actualizar y eliminar proyectos y equipos. | |
Versión | vso.release |
Versión (lectura) | Concede la capacidad de leer artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión. |
vso.release_execute |
Versión (lectura, escritura y ejecución) | Concede la capacidad de leer y actualizar artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión, y la capacidad de poner en cola una nueva versión. | |
vso.release_manage |
Versión (lectura, escritura, ejecución y administración) | Concede la capacidad de leer, actualizar y eliminar artefactos de versión, incluidas las versiones, las definiciones de versión y el entorno de versión, y la capacidad de poner en cola y aprobar una nueva versión. | |
Proteger archivos | vso.securefiles_read |
Archivos seguros (lectura) | Concede la capacidad de leer archivos seguros. |
vso.securefiles_write |
Archivos seguros (leer, crear) | Concede la capacidad de leer y crear archivos seguros. | |
vso.securefiles_manage |
Archivos seguros (leer, crear y administrar) | Concede la capacidad de leer, crear y administrar archivos seguros. | |
Seguridad | vso.security_manage |
Seguridad (administrar) | Concede la capacidad de leer, escribir y administrar permisos de seguridad. |
Conexiones de servicio | vso.serviceendpoint |
Puntos de conexión de servicio (lectura) | Concede la capacidad de leer puntos de conexión de servicio. |
vso.serviceendpoint_query |
Puntos de conexión de servicio (lectura y consulta) | Concede la capacidad de leer y consultar puntos de conexión de servicio. | |
vso.serviceendpoint_manage |
Puntos de conexión de servicio (lectura, consulta y administración) | Concede la capacidad de leer, consultar y administrar puntos de conexión de servicio. | |
Configuración | vso.settings |
Configuración (lectura) | Concede la capacidad de leer la configuración. |
vso.settings_write |
Configuración (lectura y escritura) | Concede la capacidad de crear y leer la configuración. | |
Symbols | vso.symbols |
Símbolos (lectura) | Concede la capacidad de leer símbolos. |
vso.symbols_write |
Símbolos (lectura y escritura) | Concede la capacidad de leer y escribir símbolos. | |
vso.symbols_manage |
Símbolos (lectura, escritura y administración) | Concede la capacidad de leer, escribir y administrar símbolos. | |
Grupos de tareas | vso.taskgroups_read |
Grupos de tareas (lectura) | Concede la capacidad de leer grupos de tareas. |
vso.taskgroups_write |
Grupos de tareas (leer, crear) | Concede la capacidad de leer y crear grupos de tareas. | |
vso.taskgroups_manage |
Grupos de tareas (leer, crear y administrar) | Concede la capacidad de leer, crear y administrar grupos de tareas. | |
Panel de equipo | vso.dashboards |
Paneles de equipo (lectura) | Concede la capacidad de leer la información del panel del equipo. |
vso.dashboards_manage |
Paneles de equipo (administrar) | Concede la capacidad de administrar la información del panel del equipo. | |
Administración de pruebas | vso.test |
Administración de pruebas (lectura) | Concede la capacidad de leer planes de prueba, casos, resultados y otros artefactos relacionados con la administración de pruebas. |
vso.test_write |
Administración de pruebas (lectura y escritura) | Concede la capacidad de leer, crear y actualizar planes de prueba, casos, resultados y otros artefactos relacionados con la administración de pruebas. | |
Subprocesos | vso.threads_full |
Subprocesos de pr | Concede la capacidad de leer y escribir para extraer subprocesos de comentarios de solicitud. |
Tokens | vso.tokens |
Tokens de autorización delegados | Concede a los usuarios la capacidad de administrar tokens de autorización delegados. |
vso.tokenadministration |
Token Administración istration | Concede la capacidad de administrar (ver y revocar) tokens existentes a los administradores de la organización. | |
Perfil de usuario | vso.profile |
Perfil de usuario (leer) | Concede la capacidad de leer el perfil, las cuentas, las colecciones, los proyectos, los equipos y otros artefactos de la organización de nivel superior. |
vso.profile_write |
Perfil de usuario (escritura) | Concede la capacidad de escribir en su perfil. | |
Grupos de variables | vso.variablegroups_read |
Grupos de variables (lectura) | Concede la capacidad de leer grupos de variables. |
vso.variablegroups_write |
Grupos de variables (leer, crear) | Concede la capacidad de leer y crear grupos de variables. | |
vso.variablegroups_manage |
Grupos de variables (leer, crear y administrar) | Concede la capacidad de leer, crear y administrar grupos de variables. | |
Wiki | vso.wiki |
Wiki (lectura) | Concede la capacidad de leer wikis, páginas wiki y datos adjuntos wiki. También concede la capacidad de buscar páginas wiki. |
vso.wiki_write |
Wiki (lectura y escritura) | Concede la capacidad de leer, crear y actualizar wikis, páginas wiki y datos adjuntos wiki. | |
Elementos de trabajo | vso.work |
Elementos de trabajo (leer) | Concede la capacidad de leer elementos de trabajo, consultas, paneles, rutas de acceso de área e iteraciones y otros metadatos relacionados con el seguimiento de elementos de trabajo. También concede la capacidad de ejecutar consultas, buscar elementos de trabajo y recibir notificaciones sobre eventos de elementos de trabajo a través de enlaces de servicio. |
vso.work_write |
Elementos de trabajo (leer y escribir) | Concede la capacidad de leer, crear y actualizar elementos de trabajo y consultas, actualizar metadatos del panel de actualización, áreas de lectura e iteraciones rutas de acceso a otros metadatos relacionados con el seguimiento de elementos de trabajo, ejecutar consultas y recibir notificaciones sobre eventos de elemento de trabajo a través de enlaces de servicio. | |
vso.work_full |
Elementos de trabajo (completos) | Concede acceso total a elementos de trabajo, consultas, trabajos pendientes, planes y metadatos de seguimiento de elementos de trabajo. También proporciona la capacidad de recibir notificaciones sobre eventos de elementos de trabajo a través de enlaces de servicio. | |
Suplantación de usuario | user_impersonation |
Suplantación de usuario | Tener acceso completo a las API REST de Visual Studio Team Services. Solicitar o dar su consentimiento a este ámbito con precaución, ya que es muy eficaz! |