Condividi tramite


Autenticazione senza pat dalle attività della pipeline alle API Di Azure DevOps

Le attività in una pipeline utilizzano un job access token, disponibile tramite la variabile predefinita System.AccessToken, o un PAT per accedere alle risorse di Azure DevOps. Ad esempio, un compito di "checkout" utilizza questo token per autenticarsi nel repository. Analogamente, uno script di PowerShell può usare questo token per accedere alle API REST di Azure DevOps. Tuttavia, le autorizzazioni di questo token si basano sull'identità del servizio di compilazione del progetto, ovvero tutti i token di accesso ai processi in un progetto hanno autorizzazioni identiche. In questo modo si concede un accesso eccessivo in tutte le pipeline all'interno del progetto.

L'uso di PT per accedere alle risorse di Azure DevOps è comune, in particolare quando un'attività deve accedere a tali risorse attraverso i limiti dell'organizzazione. Ad esempio, un'attività di autenticazione NuGet usa un token PAT per eseguire l'autenticazione per un feed in un'altra organizzazione. I token di accesso personali sono un anti-pattern per la sicurezza, poiché tendono a essere creati con privilegi ampi e vengono conservati per lungo tempo, aumentando così il rischio di esfiltrazione.

Per migliorare la sicurezza in questi scenari, viene introdotto un nuovo tipo di connessione al servizio denominato "Connessione al servizio Azure DevOps". Usa un'entità servizio di Azure che può essere aggiunta come utente in Azure DevOps con autorizzazioni specifiche. In questo modo è possibile eseguire l'autenticazione alle risorse da un'attività della pipeline usando questa connessione al servizio e limitare l'accesso a pipeline specifiche. Verranno innanzitutto introdotti il nuovo tipo di connessione e alcune attività che funzionano con esso. Si espanderà gradualmente l'elenco di attività che possono usare il tipo di connessione nel corso del tempo.