Condividi tramite


Creare applicazioni sicure con Azure DevOps

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Creare applicazioni e servizi sicuri e scalabili che si integrano con Azure DevOps per accedere alle risorse utente e automatizzare i processi a livello di codice. Sia che si creino strumenti di automazione interni o si creino prodotti commerciali, Azure DevOps offre API affidabili e opzioni di autenticazione moderne per supportare le esigenze di integrazione.

Perché eseguire l'integrazione con Azure DevOps?

L'integrazione di Azure DevOps consente di:

🔧 Automatizzare i flussi di lavoro

🏗️ Creare soluzioni commerciali

  • Sviluppare estensioni del marketplace per i clienti di Azure DevOps
  • Creare prodotti SaaS che si integrano con Azure DevOps
  • Creare app per dispositivi mobili che si connettono ai servizi Azure DevOps
  • Integrare Azure DevOps con sistemi aziendali

Introduzione: scegliere il percorso

🚀 Opzioni di avvio rapido

Necessità Approccio consigliato migliore per
Automazione semplice API REST con token di accesso personale Script, strumenti personali
Applicazioni di produzione Librerie client .NET con identità gestita App aziendali, servizi ospitati in Azure
Applicazioni interattive Autenticazione Microsoft Entra App rivolte agli utenti, strumenti desktop
Componenti dell'interfaccia utente personalizzati Estensioni di Azure DevOps Personalizzazioni del team, prodotti del marketplace

🔐 Autenticazione: Sicurezza prima di tutto

Scegliere il metodo di autenticazione corretto:

✅ Consigliato per la produzione:

⚡ Sviluppo rapido:

❌ Evitare in fase di produzione:

  • Autenticazione con nome utente/password (deprecata)
  • Credenziali integrate nel codice sorgente
  • Ambiti di autorizzazione eccessivamente ampi

Approcci di sviluppo

🔌 Integrazione dell'API REST

Ideale per: Chiamate HTTP dirette, sviluppo indipendente dalla piattaforma, automazione semplice

**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/)

📚 Librerie client .NET

Ideale per: Applicazioni C#, sviluppo aziendale, integrazioni complesse

**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)

🔔 Integrazione guidata dagli eventi

Ideale per: Risposte in tempo reale, automazione basata su webhook, sincronizzazione del sistema esterno

**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)

🧩 Estensioni della piattaforma

Ideale per: Componenti dell'interfaccia utente personalizzati, funzionalità specifiche del team, prodotti del 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)

Modelli di architettura

Integrazione di microservizi:

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

Applicazione aziendale:

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

Applicazione rivolta all'utente:

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

Sicurezza e conformità

🛡️ Procedure consigliate per la sicurezza

Sicurezza dell'autenticazione:

  • ✅ Usare le identità gestite quando possibile
  • ✅ Implementare la logica di aggiornamento del token appropriata
  • ✅ Applicare il principio dei privilegi minimi
  • ✅ Abilitare la registrazione di controllo per tutte le chiamate API
  • ❌ Non memorizzare mai le credenziali nel controllo del codice sorgente
  • ❌ Non usare ambiti PAT eccessivamente ampi

Sicurezza delle applicazioni:

  • Implementare una corretta gestione e registrazione degli errori
  • Usare HTTPS per tutte le comunicazioni
  • Convalidare tutti i dati di input
  • Gestire la limitazione della frequenza adeguatamente
  • Archiviare dati sensibili in Azure Key Vault

Considerazioni sulla conformità:

Risorse e passaggi successivi

📖 Documentazione essenziale

Concetti di base:

Informazioni di riferimento sulle API:

Esempi di codice:

🎯 Azioni rapide

Inizia subito a costruire:

  1. Configurare l'autenticazione : scegliere il metodo di autenticazione
  2. Provare l'API REST : effettuare la prima chiamata API
  3. Eseguire esempi di libreria client - Vedere esempi di codice funzionante
  4. Esaminare le procedure di sicurezza : creare in modo sicuro dall'inizio

Serve aiuto?

Suggerimento

Novità dell'integrazione di Azure DevOps? Iniziare con le indicazioni sull'autenticazione per comprendere le opzioni, quindi provare l'avvio rapido dell'API REST per effettuare la prima chiamata API riuscita.