Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
- Creare integrazioni di Azure DevOps con le app Microsoft Entra OAuth per garantire la migliore sicurezza e la compatibilità futura.
- Utilizzare i principali di servizio o le identità gestite per scenari di comunicazione tra servizi.
- Evitare token di accesso personali nelle applicazioni di produzione.
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:
Identificare l'utilizzo corrente dei token di accesso personale nelle applicazioni.
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
Aggiornare il codice di autenticazione usando gli esempi di autenticazione della migrazione di Azure DevOps.
Testare attentamente le modifiche prima di rimuovere eventuali dipendenze del token di accesso personale.
Monitorare e convalidare il nuovo metodo di autenticazione.
Procedure di implementazione
Dopo aver scelto il metodo di autenticazione per lo scenario, completare l'implementazione:
Nuove applicazioni: Creare integrazioni di Azure DevOps con le app OAuth di Microsoft Entra
Applicazioni di servizio: Usare principali di servizio e identità gestite in Azure DevOps
Script personali: usare i token di accesso personale