Compartir a través de


Métodos de autenticación para Azure DevOps

Servicios Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

En este artículo se describen los métodos de autenticación para Azure DevOps integración y le ayuda a elegir la mejor opción para su escenario. Los enfoques de autenticación modernos, como Microsoft Entra ID, proporcionan seguridad mejorada y el mejor enfoque para las nuevas aplicaciones.

Utiliza la autenticación de Microsoft Entra ID para nuevas aplicaciones integradas con Azure DevOps Services. Use tokens de acceso personal con moderación y solo cuando Microsoft Entra ID no esté disponible.

Importante

Considere usar los más seguros tokens de Microsoft Entra en lugar de los tokens de acceso personal. Para obtener más información, consulte Reducir el uso de PAT. Revise las instrucciones de autenticación para elegir el mecanismo de autenticación adecuado para sus necesidades.

La autenticación de OAuth 2.0 y Microsoft Entra ID solo están disponibles para Azure DevOps Services, no para Azure DevOps Server.

Para escenarios locales, use bibliotecas cliente de .NET, autenticación de Windows o tokens de acceso personal.

Sugerencia

Puede usar la inteligencia artificial para ayudar con esta tarea más adelante en este artículo, o consulte Enable AI assistance with Azure DevOps MCP Server para empezar.

Métodos de autenticación por escenario

Elija el método de autenticación adecuado en función del tipo de aplicación y los requisitos.

Tipo de aplicación Descripción Ejemplo Método recomendado Ejemplos de código
Aplicaciones web o de escritorio Aplicaciones interactivas que usan marcos actuales Aplicación React, aplicación de escritorio de .NET Microsoft Entra OAuth con Microsoft Authentication Library (MSAL) Aplicación de consola cliente administrada
Aplicaciones de servicio o en segundo plano Aplicaciones que se ejecutan sin interacción del usuario Azure Functions, servicios en segundo plano Entidades de servicio e identidades administradas Entidades de servicio
Aplicaciones cliente heredadas Aplicaciones existentes que usan bibliotecas cliente Aplicaciones de consola con bibliotecas de Azure DevOps .NET .NET bibliotecas de cliente con OAuth Aplicación de consola de biblioteca cliente
Aplicaciones sin interfaz gráfica de usuario (GUI) o con interfaz de línea de comandos (CLI) Herramientas de línea de comandos no interactivas Creación de scripts, herramientas de automatización Flujo de concesión de autorización de dispositivos Perfil de dispositivo
extensiones de Azure DevOps Extensiones que se ejecutan en Azure DevOps Widgets de panel personalizados y formularios de elementos de trabajo SDK de extensión web Azure DevOps Adición de un widget de panel
aplicaciones de Azure DevOps Server Integraciones de Azure DevOps Server locales Extensiones de servidor personalizadas bibliotecas cliente de .NET o autenticación de Windows Aplicación de consola de biblioteca cliente
Scripts personales o ad hoc Scripts rápidos para uso personal scripts de PowerShell, comandos de curl Tokens de acceso personal Introducción a las API REST

Sugerencias para empezar

En las secciones siguientes se proporcionan recomendaciones para empezar a trabajar en diferentes escenarios.

Aplicaciones nuevas

Aplicaciones existentes

  • Planea la migración de tokens de acceso personal a la autenticación de Microsoft Entra ID.
  • Considere el cronograma de migración de autenticación para las mejoras en Azure DevOps y la reducción del uso de tokens de acceso personal.
  • Revise el enfoque de autenticación actual con respecto a los procedimientos recomendados de seguridad.

Azure DevOps Server

  • Utilice bibliotecas cliente de .NET con autenticación de Windows siempre que sea posible.
  • Utilice tokens de acceso personal para escenarios de Azure DevOps Server si son aceptables.
  • Planee la migración futura de Azure DevOps Services para aprovechar las ventajas de la autenticación moderna.

Respuestas a preguntas comunes

En las secciones siguientes se proporcionan respuestas a las preguntas más frecuentes.

¿Debo usar Microsoft Entra ID OAuth o tokens de acceso personal?

Use Microsoft Entra ID OAuth en los escenarios siguientes:

  • Nuevas aplicaciones e integraciones.
  • Cargas de trabajo de producción que requieren una seguridad sólida.
  • Aplicaciones que necesitan integración de identidades empresariales.
  • Proyectos a largo plazo con requisitos de cumplimiento.

Use solo tokens de acceso personal en los escenarios siguientes:

  • Scripts personales y tareas ad hoc.
  • Aplicaciones heredadas durante el planeamiento de la migración.
  • Azure DevOps Server escenarios en los que la autenticación moderna no está disponible.

¿Debo usar las entidades de servicio o la delegación de usuarios para la autenticación?

Utilice entidades de servicio o identidades administradas en los escenarios siguientes:

  • Cree aplicaciones que funcionen de forma independiente (servicios en segundo plano, automatización).
  • Cree aplicaciones que no requieran interacción del usuario.
  • Implemente la comunicación entre servicios.
  • Cree canalizaciones de integración continua y entrega continua (CI/CD) o flujos de trabajo automatizados.

Use la delegación de usuarios (OAuth con consentimiento del usuario) en los escenarios siguientes:

  • Cree aplicaciones que actúen para los usuarios humanos.
  • Cree aplicaciones interactivas en las que los usuarios inicien sesión con sus propias credenciales.
  • Implemente características que requieran permisos específicos del usuario.
  • Cree aplicaciones que respeten los derechos de acceso individuales de los usuarios.

¿Cómo se autentica con Azure DevOps Services y Azure DevOps Server?

Cree rutas de autenticación independientes para cada servicio:

  • Azure DevOps Services: use Microsoft Entra ID OAuth.
  • Azure DevOps Server: Use las bibliotecas cliente de .NET con autenticación de Windows o tokens de acceso personal.

Use el requestContext método para detectar el tipo de servicio y aplicar el método de autenticación adecuado.

¿Por qué mi cuenta de servicio no puede acceder a las API de Azure DevOps?

Estos son algunos problemas comunes que pueden afectar al acceso a la cuenta de servicio:

  • Cuenta de servicio no "materializada": use el método de inicio de sesión correcto. Las cuentas de servicio necesitan permisos de inicio de sesión interactivos o un registro de Microsoft Entra ID adecuado.
  • Permisos insuficientes: asegúrese de que la cuenta de servicio tenga los permisos adecuados para Azure DevOps.
  • Método de autenticación: use entidades de servicio o identidades administradas en lugar de intentar autenticarse como una cuenta de servicio.

¿Cómo puedo migrar de tokens de acceso personal a la autenticación moderna?

Siga estos pasos:

  1. Identifique el uso actual del token de acceso personal en las aplicaciones.

  2. Elija un método de autenticación alternativo:

    • Microsoft Entra ID OAuth para escenarios con delegación del usuario
    • Entidades de servicio para escenarios de servicio a servicio
  3. Actualice el código de autenticación mediante los ejemplos de autenticación de migración de Azure DevOps.

  4. Pruebe los cambios exhaustivamente antes de eliminar las dependencias de tokens personales de acceso.

  5. Supervise y valide el nuevo método de autenticación.

Procedimientos de implementación

Después de elegir el método de autenticación para su escenario, finalice la implementación:

El uso de IA para elegir un método de autenticación

Si tiene el Azure DevOps servidor MCP conectado al agente de IA en modo de agente, puede usar mensajes de lenguaje natural para obtener recomendaciones de autenticación para su escenario.

tarea Mensaje de ejemplo
Elección de la autenticación para un servicio en segundo plano Which authentication method should I use for a background Azure Function that needs to access Azure DevOps APIs?
Comparación de las opciones de autenticación Help me choose between service principals, managed identities, and personal access tokens for my Azure DevOps integration
Autenticación para una aplicación web I'm building a React web app that needs to access Azure DevOps on behalf of signed-in users — what authentication approach should I use?
Migración desde PAT Help me plan a migration from personal access tokens to Microsoft Entra ID authentication for my Azure DevOps integrations
Autenticación para CI/CD What's the most secure way to authenticate Azure DevOps REST API calls from a GitHub Actions workflow?
Solución de problemas de errores de autenticación I'm getting 401 errors when calling the Azure DevOps REST API with my token — help me diagnose the issue

Nota:

El modo de agente y el servidor MCP usan lenguaje natural, por lo que puede ajustar estas indicaciones o formular preguntas de seguimiento para refinar los resultados.