Condividi tramite


Metodi di autenticazione per Azure DevOps

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

Questo articolo descrive i metodi di autenticazione per l'integrazione di Azure DevOps e consente di scegliere l'opzione migliore per lo scenario. Gli approcci di autenticazione moderni, ad esempio Microsoft Entra ID, offrono sicurezza avanzata e offrono l'approccio migliore per le nuove applicazioni.

Importante

Per le nuove applicazioni che si integrano con Azure DevOps Services, è consigliabile usare l'autenticazione con Microsoft Entra ID. Usare i token di accesso personali con moderazione e usarli solo quando Microsoft Entra ID non è disponibile.

L'autenticazione OAuth 2.0 e Microsoft Entra ID sono disponibili solo per Azure DevOps Services, non per Azure DevOps Server.

Per gli scenari locali, usare librerie client .NET, autenticazione di Windows o token di accesso personale.

Metodi di autenticazione per scenario

Scegliere il metodo di autenticazione appropriato in base al tipo e ai requisiti dell'applicazione:

Tipo di applicazione Descrizione Esempio Metodo consigliato Esempi di codice
App Web/desktop Applicazioni interattive che usano framework correnti Applicazione React, applicazione desktop .NET Microsoft Entra OAuth con Microsoft Authentication Library (MSAL) App console client gestita
App di servizio/in background Applicazioni in esecuzione senza interazione dell'utente Funzioni di Azure, servizi in background Entità servizio e identità gestite Entità servizio
App client legacy Applicazioni esistenti che usano librerie client App console con librerie .NET di Azure DevOps Librerie client .NET con OAuth App console della libreria client
App headless/CLI Strumenti da riga di comando non interattivi Creare script, strumenti di automazione Flusso di concessione dell'autorizzazione del dispositivo Profilo dispositivo
Estensioni di Azure DevOps Estensioni in esecuzione in Azure DevOps Widget di dashboard personalizzati e moduli per elementi di lavoro SDK dell'estensione Web di Azure DevOps Aggiungere un widget del dashboard
App Azure DevOps Server Integrazioni locali di Azure DevOps Server Estensioni server personalizzate Librerie client .NET o Autenticazione di Windows App console della libreria client
Script personali/ad hoc Script rapidi per l'uso personale Script di PowerShell, comandi curl Token di accesso personali Introduzione alle API REST

Suggerimenti per iniziare

Le sezioni seguenti forniscono consigli per iniziare a usare scenari diversi.

Nuove applicazioni

Applicazioni esistenti

  • Pianificare la migrazione dai token di accesso personale all'autenticazione di Microsoft Entra ID.
  • Prendere in considerazione la sequenza temporale di migrazione dell'autenticazione per i miglioramenti di Azure DevOps e ridurre l'uso dei token di accesso personali.
  • Esaminare l'approccio di autenticazione corrente rispetto alle procedure consigliate per la sicurezza.

Azure DevOps Server

  • Usare le librerie client .NET con l'autenticazione di Windows, quando possibile.
  • I token di accesso personali sono accettabili per alcuni scenari di Azure DevOps Server.
  • Pianificare la migrazione futura di Azure DevOps Services per sfruttare i vantaggi dell'autenticazione moderna.

Risposte alle domande comuni

Le sezioni seguenti forniscono risposte alle domande frequenti.

È consigliabile usare microsoft Entra ID OAuth o token di accesso personale?

Usare Microsoft Entra ID OAuth negli scenari seguenti:

  • Nuove applicazioni e integrazioni
  • Carichi di lavoro di produzione che richiedono una sicurezza affidabile
  • Applicazioni che richiedono l'integrazione delle identità aziendali
  • Progetti a lungo termine con requisiti di conformità

Usare solo i token di accesso personale negli scenari seguenti:

  • Script personali e attività ad hoc
  • Applicazioni legacy durante la pianificazione della migrazione
  • Scenari di Azure DevOps Server in cui l'autenticazione moderna non è disponibile

È consigliabile usare entità servizio o delega utente per l'autenticazione?

Usare entità servizio o identità gestite negli scenari seguenti:

  • Creare applicazioni che funzionano in modo indipendente (servizi in background, automazione)
  • Creare app che non richiedono l'interazione dell'utente
  • Implementare la comunicazione da servizio a servizio
  • Crea pipeline CI/CD o flussi di lavoro automatizzati

Usare la delega utente (OAuth con il consenso dell'utente) negli scenari seguenti:

  • Creare applicazioni che agiscono per conto degli utenti umani
  • Creare app interattive in cui gli utenti accedono con le proprie credenziali
  • Implementare funzionalità che richiedono autorizzazioni specifiche dell'utente
  • Creare app che rispettino i diritti di accesso individuali dell'utente

Come si esegue l'autenticazione sia con Azure DevOps Server che con Azure DevOps Services?

La procedura consigliata consiste nel creare percorsi di autenticazione separati:

  • Azure DevOps Services: Usare Microsoft Entra ID OAuth.
  • Azure DevOps Server: usare librerie client .NET con l'autenticazione di Windows o i token di accesso personali.

Usare il requestContext metodo per rilevare il tipo di servizio e applicare il metodo di autenticazione appropriato.

Perché l'account del servizio non può accedere alle API di Azure DevOps?

Ecco alcuni problemi comuni che possono influire sull'accesso all'account del servizio:

  • Account di servizio non "realizzato": usare il metodo di accesso corretto. Gli account del servizio necessitano di autorizzazioni di accesso interattive o di registrazione corretta dell'ID Microsoft Entra.
  • Autorizzazioni insufficienti: verificare che l'account del servizio disponga delle autorizzazioni di Azure DevOps appropriate.
  • Metodo di autenticazione: usare i principi di servizio o le identità gestite invece di tentare di autenticarsi come account del servizio.

Come si esegue la migrazione dai token di accesso personale all'autenticazione moderna?

Completare i passaggi seguenti:

  1. Identificare l'utilizzo corrente dei token di accesso personale nelle applicazioni.

  2. Scegliere un metodo di autenticazione alternativo:

    • Microsoft Entra ID OAuth per scenari con delega dell'utente
    • Principali del servizio per scenari da servizio a servizio
  3. Aggiornare il codice di autenticazione usando gli esempi di autenticazione della migrazione di Azure DevOps.

  4. Testare attentamente le modifiche prima di rimuovere eventuali dipendenze del token di accesso personale.

  5. Monitorare e convalidare il nuovo metodo di autenticazione.

Procedure di implementazione

Dopo aver scelto il metodo di autenticazione per lo scenario, completare l'implementazione: