Scegliere il meccanismo di autenticazione corretto

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

Per le applicazioni che si interfacciano con Azure DevOps Services, è necessario eseguire l'autenticazione per ottenere l'accesso a risorse come le API REST. È chiaro che Azure DevOps Services offre molti modi diversi per autenticare l'applicazione. Questo articolo fornisce indicazioni utili per scegliere l'autenticazione corretta per l'applicazione. La tabella seguente illustra il meccanismo di autenticazione consigliato per diversi tipi di applicazione. Per iniziare, vedere le descrizioni di base, gli esempi e gli esempi di codice seguenti.

Tipo di applicazione Descrizione esempio Meccanismo di autenticazione Esempi di codice
Lato client interattivo (REST) Applicazione client, che consente l'interazione dell'utente, chiamando Azure DevOps Services API REST Applicazione console che enumera i progetti in un'organizzazione Microsoft Authentication Library (MSAL) Esempio
Lato client interattivo (libreria client) Applicazione client, che consente l'interazione dell'utente, chiamando Azure DevOps Services librerie client Applicazione console che enumera i bug assegnati all'utente corrente Librerie client Esempio
JavaScript interattivo Applicazione JavaScript basata su GUI App a pagina singola AngularJS che visualizza informazioni sul progetto per un utente Microsoft Authentication Library per JavaScript (MSAL JS) Esempio
Token di accesso personale Facile alternativa ai normali token OAuth. Usare il token di accesso personale al posto della password. Carezze
Lato client non interattivo Applicazione lato client solo testo headless App console che visualizza tutti i bug assegnati a un utente Profilo dispositivo Esempio
App sul lato client interattivo destinata ad Azure DevOps Applicazione client, che consente l'interazione dell'utente, autentica gli utenti di Azure DevOps Applicazione console che consente agli utenti di Azure DevOps di visualizzare i bug assegnati Libreria client (interattiva e autenticazione di Windows) Esempio
Web interattivo Applicazione Web basata su GUI Dashboard Web personalizzato che visualizza riepiloghi di compilazione OAuth Esempio
applicazione Azure DevOps Server Azure DevOps Server'app con la libreria CLIENT OM Azure DevOps Server'estensione che visualizza i dashboard di bug del team Librerie client Esempio
estensione Azure DevOps Services estensione Azure DevOps Services Schede Agile VSS Web Extension SDK procedura dettagliata di esempio

Nota

L'API Di Azure DevOps non supporta ancora l'accesso al servizio non interattivo tramite entità servizio, anche se è sulla roadmap. Se è necessario chiamare l'API Azure DevOps da un'applicazione non interattiva (in cui un utente finale non può autenticarsi in modo interattivo, ad esempio un processo in background), deve usare un token di accesso personale (PAT). Poiché si tratta di credenziali di sicurezza, il token di accesso personale deve essere archiviato in una risorsa di archiviazione sicura, ad esempio Azure Key Vault. Se possibile, l'applicazione non interattiva deve quindi usare un'identità gestita per accedere a Key Vault, in modo che l'applicazione non debba mai archiviare segreti o credenziali.

Per altre informazioni sulla gestione della sicurezza e dell'identità, vedere Informazioni sulla sicurezza e sull'identità.

Per altre informazioni su come archiviare le credenziali, vedere Archiviazione delle credenziali per Azure DevOps.

L'abilitazione dell'autenticazione di base di IIS invalida l'uso di PT per Azure DevOps Server

Altre informazioni sull'uso dell'autenticazione di base di IIS con Azure DevOps in locale.

Domande frequenti (FAQ)

D: Perché uno degli account del servizio non può accedere all'API REST di Azure DevOps?

R: L'account del servizio potrebbe non avere "materializzato". Poiché l'accesso non è possibile con un account del servizio che non dispone di autorizzazioni di accesso interattivo, vedere questa soluzione alternativa.

D: Sto creando un'applicazione lato client interattiva. È consigliabile usare Azure DevOps Services librerie client o API REST Azure DevOps Services?

R: È consigliabile usare Azure DevOps Services librerie client sulle API REST quando si accede alle risorse Azure DevOps Services. Sono più semplici e facili da gestire quando si verificano modifiche della versione agli endpoint REST. Se la funzionalità non è presente nelle librerie client, MSAL è il meccanismo di autenticazione migliore da usare con le API REST.

D: Questo materiale sussidiario è valido solo per Azure DevOps Services o per gli utenti locali Azure DevOps Server?

R: Questa guida è destinata principalmente agli utenti di Azure DevOps Services. Le librerie client sono una serie di pacchetti compilati specificamente per estendere Azure DevOps Server funzionalità. Per gli utenti locali, è consigliabile usare le librerie client, l'autenticazione di Windows o i token di accesso personale (PAT) per l'autenticazione per un utente.

D: Cosa accade se si vuole che l'applicazione esegua l'autenticazione con Azure DevOps Server e Azure DevOps Services?

R: La procedura consigliata consiste nell'avere percorsi di autenticazione diversi per Azure DevOps Server e Azure DevOps Services. È possibile usare requestContext per scoprire quali sono i risultati e quindi usare il meccanismo migliore per ognuno di essi. Se invece si vuole una soluzione unificata, i PTS funzionano per entrambi.