Compartir a través de


Creación de aplicaciones seguras con Azure DevOps

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Cree aplicaciones y servicios seguros y escalables que se integren con Azure DevOps para acceder a los recursos de usuario y automatizar procesos mediante programación. Tanto si va a crear herramientas de automatización internas como a crear productos comerciales, Azure DevOps proporciona API sólidas y opciones de autenticación modernas para satisfacer sus necesidades de integración.

¿Por qué integrar con Azure DevOps?

La integración de Azure DevOps le permite:

🔧 Automatización de flujos de trabajo

🏗️ Creación de soluciones comerciales

  • Desarrollo de extensiones de Marketplace para clientes de Azure DevOps
  • Creación de productos SaaS que se integran con Azure DevOps
  • Creación de aplicaciones móviles que se conectan a los servicios de Azure DevOps
  • Integración de Azure DevOps con sistemas empresariales

Introducción: Elección de la ruta de acceso

🚀 Opciones de inicio rápido

Necesita Enfoque recomendado Más adecuado para
Automatización sencilla API REST con tokens de acceso personal (PAT) Scripts, herramientas personales
Aplicaciones de producción Bibliotecas cliente de .NET con identidad administrada Aplicaciones empresariales, servicios hospedados en Azure
Aplicaciones interactivas Autenticación de Microsoft Entra Aplicaciones orientadas al usuario, herramientas de escritorio
Componentes de interfaz de usuario personalizados Extensiones de Azure DevOps Personalizaciones de equipo, productos de Marketplace

🔐 Autenticación: seguridad en primer lugar

Elija el método de autenticación correcto:

✅Opción recomendada para producción:

⚡ Desarrollo rápido:

❌ Evitar para producción:

  • Autenticación de nombre de usuario y contraseña (en desuso)
  • Credenciales codificadas de forma rígida en el código fuente
  • Ámbitos de permisos demasiado amplios

Enfoques de desarrollo

🔌 Integración de la API REST

Lo mejor para: Llamadas HTTP directas, desarrollo independiente de la plataforma, automatización sencilla

**Key benefits:**
- Works with any programming language
- Full control over HTTP requests and responses
- Lightweight integration for simple scenarios
- Easy to debug and test

**Get started:**
- [Learn REST API basics](./how-to/call-rest-api.md)
- [Browse API reference](/rest/api/azure/devops/)
- [Try APIs in the browser](https://docs.microsoft.com/rest/api/azure/devops/)

📚 Bibliotecas cliente de .NET

Lo mejor para: Aplicaciones de C#, desarrollo empresarial, integraciones complejas

**Key benefits:**
- Strongly typed APIs with IntelliSense support
- Built-in retry logic and error handling
- Async/await patterns for better performance
- Production-ready authentication options

**Get started:**
- [.NET client library samples](./get-started/client-libraries/samples.md)
- [Authentication guidance](./get-started/authentication/authentication-guidance.md)
- [Client library concepts](./concepts/dotnet-client-libraries.md)

🔔 Integración controlada por eventos

Lo mejor para: Respuestas en tiempo real, automatización basada en webhook, sincronización del sistema externo

**Key benefits:**
- Real-time event notifications
- Reduced polling and improved efficiency
- Support for multiple event types
- Easy integration with external services

**Get started:**
- [Service hooks overview](../service-hooks/overview.md)
- [Webhook configuration guide](../service-hooks/services/webhooks.md)
- [Event reference documentation](../service-hooks/events.md)

🧩 Extensiones de plataforma

Lo mejor para: Componentes de interfaz de usuario personalizados, características específicas del equipo, productos de Marketplace

**Key benefits:**
- Native integration with Azure DevOps UI
- Access to platform APIs and services
- Distribution through Visual Studio Marketplace
- Rich customization capabilities

**Get started:**
- [Extension development overview](../extend/overview.md)
- [Extension samples and tutorials](../extend/develop/samples-overview.md)
- [Marketplace publishing guide](../extend/publish/overview.md)

Patrones de arquitectura

Integración de microservicios:

Azure Function/App Service → Managed Identity → Azure DevOps APIs
- Secure, serverless integration
- Automatic credential management
- Scalable and cost-effective

Aplicación empresarial:

On-premises App → Service Principal → Azure DevOps REST APIs
- Certificate-based authentication
- Centralized credential management
- Audit logging and compliance

Aplicación orientada al usuario:

Web/Mobile App → Microsoft Entra OAuth → Azure DevOps on behalf of user
- User consent flows
- Secure token management
- Granular permission control

Seguridad y cumplimiento

🛡️ Procedimientos recomendados de seguridad

Seguridad de autenticación:

  • ✅ Uso de identidades administradas siempre que sea posible
  • ✅ Implementación de la lógica de actualización de tokens adecuada
  • ✅ Aplicar el principio de privilegios mínimos
  • ✅ Habilitación del registro de auditoría para todas las llamadas API
  • ❌ Nunca confirme las credenciales en el control de código fuente
  • ❌ No usar ámbitos PAT demasiado amplios

Seguridad de la aplicación:

  • Implementar el control de errores y el registro adecuados
  • Uso de HTTPS para todas las comunicaciones
  • Validar todos los datos de entrada
  • Maneje la limitación de velocidad de manera eficiente.
  • Almacenamiento de datos confidenciales en Azure Key Vault

Consideraciones de cumplimiento:

Recursos y pasos siguientes

📖 Documentación esencial

Conceptos básicos:

Referencias de API:

Ejemplos de código:

🎯 Acciones rápidas

Empiece a construir hoy:

  1. Configuración de la autenticación : elija el método de autenticación.
  2. Prueba de la API REST : realización de la primera llamada API
  3. Ejecutar ejemplos de biblioteca cliente : consulte ejemplos de código de trabajo.
  4. Revisión de las prácticas de seguridad - Construcción segura desde el principio

¿Necesita ayuda?

Sugerencia

¿No está familiarizado con la integración de Azure DevOps? Comience con las instrucciones de autenticación para comprender las opciones y, a continuación, pruebe el inicio rápido de la API REST para realizar la primera llamada API correcta.