Usare i token di accesso personale
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Un token di accesso personale funge da password alternativa per l'autenticazione in Azure DevOps. Questo token di accesso personale identifica l'utente e determina l'accessibilità e l'ambito di accesso. Di conseguenza, trattare le PTE con lo stesso livello di cautela delle password.
Importante
Si consiglia di usare i token Microsoft Entra . Per ulteriori informazioni sui nostri sforzi per ridurre l'utilizzo di PAT, vedere il nostro blog. Esaminare le linee guida per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.
Quando si usano gli strumenti Microsoft, viene riconosciuto e supportato l'account Microsoft (MSA) o l'ID Microsoft Entra. Se usi strumenti che non supportano gli account Microsoft Entra o non vuoi condividere le tue credenziali primarie, i PAT possono essere un'alternativa adatta. È tuttavia consigliabile usare i token Microsoft Entra anziché i token PAT ogni volta che sia possibile.
È possibile gestire i criteri di accesso tramite i metodi seguenti:You can manage PAT through the following methods:
- Interfaccia utente (UI): Tramite impostazioni dell'utente, come descritto in questo articolo.
- API di gestione del ciclo di vita PAT
- i gestori delle credenziali di Git per le operazioni di Git. I gestori delle credenziali facilitano la gestione dei token. Senza uno, gli utenti devono immettere le credenziali ogni volta.
Prerequisiti
-
Autorizzazioni:
- Disporre dell'autorizzazione per accedere e modificare le impostazioni utente in cui vengono gestite le reti AFC.
-
Controllare le autorizzazioni: per controllare le autorizzazioni, eseguire uno dei processi seguenti in Azure DevOps:
- Passare al profilo e selezionare Impostazioni utente>Token di accesso personali. Se è possibile visualizzare e gestire qui i PTS, si dispone delle autorizzazioni necessarie.
- Passare al progetto e selezionare Autorizzazioni per le impostazioni>del progetto. Trovare l'account utente nell'elenco e controllare le autorizzazioni assegnate all'utente. Cercare le autorizzazioni correlate alla gestione dei token o delle impostazioni utente.
-
Controllare le autorizzazioni: per controllare le autorizzazioni, eseguire uno dei processi seguenti in Azure DevOps:
- Se l'organizzazione dispone di criteri, un amministratore di Azure DevOps potrebbe dover concedere autorizzazioni specifiche o aggiungersi a un elenco di elementi consentiti per creare e gestire le api.
- I PAT sono connessi all'account utente che ha generato il token. A seconda delle attività eseguite dal PAT, potrebbe essere necessario disporre di più permessi.
- Disporre dell'autorizzazione per accedere e modificare le impostazioni utente in cui vengono gestite le reti AFC.
- Livelli di accesso: avere almeno l'accesso di base.
- Procedure consigliate per la sicurezza: Acquisire familiarità con le procedure consigliate per la sicurezza per la gestione dei PAT. Usarli solo quando necessario e ruotarli sempre regolarmente.
Creare un token di accesso personale
Accedere all'organizzazione (
https://dev.azure.com/{Your_Organization}
).Dalla home page, aprire le impostazioni utente e selezionare Token di accesso personale.
Selezionare + Nuovo token.
Assegnare un nome al token, selezionare l'organizzazione in cui si vuole usare il token e quindi impostare il token per scadere automaticamente dopo un numero di giorni impostato.
Selezionare gli ambiti per questo token da autorizzare per le attività specifiche.
Ad esempio, per creare un token per un agente di compilazione e versione per l'autenticazione in Azure DevOps, impostare l'ambito del token su Pool di agenti (Lettura e gestione). Per leggere gli eventi del log di controllo e gestire o eliminare flussi, selezionare Leggi log di controllo e quindi selezionare Crea.
Nota
È possibile che sia possibile limitare la creazione di PT con ambito completo. In tal caso, l'amministratore di Azure DevOps in Microsoft Entra ID ha abilitato un criterio che limita l'utente a un set di ambiti personalizzato specifico. Per altre informazioni, vedere Gestire le api con criteri/Limitare la creazione di PT con ambito completo. Per un token di accesso personale personalizzato, l'ambito necessario per l'accesso all'API di governance dei componenti,
vso.governance
, non è selezionabile nell'interfaccia utente.Al termine, copiare il token e archiviarlo in una posizione sicura. Per la sicurezza, non viene visualizzata di nuovo.
Usare il token di accesso personale ovunque siano necessarie le credenziali utente per l'autenticazione in Azure DevOps.
Importante
- Considerare un pat con la stessa cautela della password e mantenerlo riservato.
- Accedere con il nuovo PAT entro 90 giorni per le organizzazioni supportate da Microsoft Entra ID; in caso contrario, il pat diventa inattivo. Per altre informazioni, vedere Frequenza di accesso utente per l'accesso condizionale.
Notifications
Durante la durata di un pat, gli utenti ricevono due notifiche: la prima al momento della creazione e la seconda sette giorni prima della scadenza.
Dopo aver creato un pat, si riceve una notifica simile all'esempio seguente. Questa notifica viene usata per confermare che il pat personale è stato aggiunto correttamente all'organizzazione.
L'immagine seguente mostra un esempio della notifica di sette giorni prima della scadenza del pat.
Per altre informazioni, vedere Configurare un server SMTP e personalizzare la posta elettronica per avvisi e richieste di feedback.
Notifica imprevista
Se si riceve una notifica PAT inaspettata, potrebbe significare che un amministratore o uno strumento ha creato un PAT per te. Ecco alcuni esempi:
- Un token denominato "git:
https://dev.azure.com/{Your_Organization}
on YourMachine" viene creato quando ci si connette a un repository Git di Azure DevOps tramite git.exe. - Un token denominato "Service Hooks: Servizio app di Azure: Distribuisci app Web" viene creato quando l'utente o un amministratore configura una distribuzione di app Web del servizio app di Azure.
- Un token denominato "WebAppLoadTestCDIntToken" viene creato quando il test di carico Web viene configurato come parte di una pipeline da parte dell'utente o di un amministratore.
- Un token denominato "Integrazione di Microsoft Teams" viene creato quando viene configurata un'estensione per la messaggistica di integrazione di Microsoft Teams.
Avviso
- Revoca il PAT (e cambia la tua password) se sospetti che esista per errore.
- Controlla con l'amministratore se sei un utente di Microsoft Entra per verificare se un'origine o una posizione sconosciuta ha avuto accesso alla tua organizzazione.
- Esaminare le domande frequenti sulle archiviazioni accidentali pat nei repository GitHub pubblici.
Usare un token di accesso personale
Il pat viene usato come identità digitale, in modo analogo a una password. È possibile usare le reti AP come modo rapido per eseguire richieste occasionali o creare un prototipo di un'applicazione in locale.
Importante
Quando il codice funziona, è consigliabile passare dall'autenticazione di base a Microsoft Entra OAuth. È possibile usare i token ID di Microsoft Entra ovunque venga usato un PAT, a meno che non venga specificato di seguito in questo articolo.
È possibile utilizzare un PAT nel codice per autenticare le richieste API REST e automatizzare i flussi di lavoro. A tale scopo, includere il pat nell'intestazione di autorizzazione delle richieste HTTP.
Per fornire il pat tramite un'intestazione HTTP, convertirlo prima in una Base64
stringa. L'esempio seguente illustra come eseguire la conversione in Base64
usando C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
La stringa risultante può quindi essere fornita come intestazione HTTP nel formato seguente.
L'esempio seguente usa la classe HttpClient in C#.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Suggerimento
Quando si usano variabili, aggiungere un oggetto $
all'inizio della stringa, come nell'esempio seguente.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
$"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Altri esempi su come utilizzare i token di accesso personale possono essere trovati nei seguenti articoli:
- Eseguire l'autenticazione con i repository Git
- Configurare i gestori delle credenziali Git (GCM) per connettersi ai repository Git
- Usare NuGet in un Mac
- Autenticare i client di creazione report
- Introduzione all'interfaccia della riga di comando di Azure DevOps
Modificare un token di accesso personale
Eseguire la procedura seguente per:
- Rigenerare un pat per creare un nuovo token, che invalida quello precedente.
- Estendere un pat per aumentare il periodo di validità.
- Modificare l'ambito di un token di accesso personale per modificarne le autorizzazioni.
Nella home page aprire le impostazioni utente e quindi selezionare Profilo.
In Sicurezza selezionare Token di accesso personali. Selezionare il token da modificare e quindi Modifica.
Modificare il nome del token, la scadenza del token o l'ambito di accesso associato al token e quindi selezionare Salva.
Revocare un token di accesso personale
È possibile revocare un pat in qualsiasi momento per questi e altri motivi:
- Revocare il PAT se si sospetta che sia compromesso.
- Revocare un token di accesso personale quando non è più necessario.
- Revocare un token di accesso personale per applicare i criteri di sicurezza o i requisiti di conformità.
Nella home page aprire le impostazioni utente e quindi selezionare Profilo.
In Sicurezza selezionare Token di accesso personali. Selezionare il token per il quale si vuole revocare l'accesso e quindi selezionare Revoca.
Selezionare Revoca nella finestra di dialogo di conferma.
Per altre informazioni, vedere Revoke user PAT for admins .For more information, see Revoke user PAT for admins.
Modifiche al formato
A partire da luglio 2024, è stato modificato in modo significativo il formato delle api rilasciate da Azure DevOps. Queste modifiche offrono maggiori vantaggi per la sicurezza e migliorano gli strumenti di rilevamento dei segreti disponibili tramite gli strumenti di rilevamento PAT persi o offerte partner. Questo nuovo formato PAT segue il formato consigliato in tutti i prodotti Microsoft. L'inclusione di bit più identificabili migliora la frequenza di rilevamento dei falsi positivi di questi strumenti di rilevamento dei segreti e consente di ridurre le perdite rilevate più velocemente.
Modifiche chiave:
- Maggiore lunghezza del token: i nuovi token sono ora lunghi 84 caratteri, con 52 caratteri di dati casuali. Questa maggiore lunghezza migliora l'entropia complessiva, rendendo i token più resistenti ai potenziali attacchi di forza bruta.
-
Firma fissa: i token emessi dal servizio includono una firma fissa
AZDO
nelle posizioni 76-80.
Azione necessaria:
- Rigenerare le reti PAT esistenti: è consigliabile rigenerare tutti i PT attualmente in uso per sfruttare i vantaggi di questi miglioramenti della sicurezza.
- Supporto dell'integratore: gli integratori devono aggiornare i sistemi in modo che supportino sia la lunghezza dei token nuovi che esistenti.
Importante
Entrambi i formati rimangono validi per il prossimo futuro, ma incoraggiamo attivamente i clienti a passare al nuovo formato di 84 caratteri. Con l'adozione del nuovo formato, è consigliabile ritirare il formato di 52 caratteri precedente e tutti i token rilasciati in tale stile.
Migliori pratiche per l'utilizzo dei PAT
Prendere in considerazione le alternative
- Acquisire un token Microsoft Entra tramite Azure CLI per richieste ad hoc con una durata di un'ora, invece di generare un PAT a lungo termine.
- Usare gli strumenti di gestione delle credenziali come Git Credential Manager o azure Artifacts Credential Manager per semplificare la gestione delle credenziali. Questi strumenti possono offrire opzioni per usare i token di Microsoft Entra come autenticazione predefinita invece dei token PAT.These tools might offer options to use Microsoft Entra tokens as the default authentication instead of PAT.
Creazione di TAP
- Evitare di inserire i dati personali nel nome PAT. Non rinominare la stringa del token PAT con il nome del token.
- Selezionare solo l'organizzazione a cui il pat deve accedere se non è necessario accedere a più organizzazioni. Per i flussi di lavoro che richiedono l'accesso a più organizzazioni, creare un PAT globale separato per quel flusso di lavoro.
- Scegliere solo gli ambiti necessari per ogni PAT. Se possibile, creare più PAT per ogni flusso di lavoro con un minor numero di ambiti anziché un singolo pat con ambito completo. Se il token di accesso personale richiede solo le autorizzazioni di lettura, non fornire le autorizzazioni di scrittura fino a quando non è necessario.
- Mantenere brevi le durate dei PAT (settimanalmente è ideale—anche più breve è meglio) e ruotarli o rigenerarli regolarmente tramite l'interfaccia utente o le API di gestione del ciclo di vita PAT.
Gestione di PAT
- Always archiviare le connessioni a chiave in una soluzione di gestione delle chiavi sicura, ad esempio Azure KeyVault.
- Revocare i PAT quando non sono più necessari. Gli amministratori tenant possono revocare i token di accesso alle app per gli utenti dell'organizzazione se il token di accesso personale è compromesso.
- Ruotare i propri PAT per utilizzare il nuovo formato PAT per un migliore rilevamento e la revoca dei segreti trapelati dai nostri strumenti proprietari.
Per gli amministratori
Gli amministratori tenant possono impostare criteri per limitare la creazione globale dei PAT, la creazione di PAT interamente definiti nell'ambito e la durata a lungo termine dei PAT. Possono anche abilitare i criteri per revocare automaticamente i PAT trapelati rilevati nei repository pubblici. Usare questi criteri per migliorare la sicurezza dell'azienda.
Domande frequenti
D: Perché non è possibile modificare o rigenerare un pat con ambito a una singola organizzazione?
Accedi all'organizzazione in cui il tuo PAT è definito. È possibile visualizzare tutti i token PAT durante l'accesso a qualsiasi organizzazione nello stesso ID Microsoft Entra, ma è possibile modificare solo i token con ambito organizzazione quando si è connessi all'organizzazione specifica.
D: Cosa accade a un pat se un account utente è disabilitato?
R: Quando un utente viene rimosso da Azure DevOps, il pat invalida entro 1 ora. Se l'organizzazione è connessa all'ID Microsoft Entra, il pat invalida anche nell'ID Microsoft Entra, perché appartiene all'utente. È consigliabile ruotare il token di accesso personale a un altro account utente o di servizio per mantenere i servizi in esecuzione.
D: Esiste un modo per rinnovare un pat tramite l'API REST?
R: Sì, è possibile rinnovare, gestire e creare PAT utilizzando le API di gestione del ciclo di vita PAT .
D: Posso usare i PAT con tutte le API REST di Azure DevOps?
R: No. È possibile usare l'autenticazione di base con la maggior parte delle API REST di Azure DevOps, ma organizzazioni e profili e le API del ciclo di gestione del PAT supportano esclusivamente Microsoft Entra OAuth. Per un esempio su come configurare un'app Microsoft Entra per chiamare tali API, vedere Gestire i PAT usando l'API REST.
D: Cosa accade se si verifica accidentalmente il token di accesso personale in un repository pubblico in GitHub?
R: Azure DevOps esegue l'analisi dei PT controllati nei repository pubblici in GitHub. Quando viene rilevato un token persa, viene inviata immediatamente una notifica di posta elettronica dettagliata al proprietario del token e si registra un evento nel log di controllo dell'organizzazione Azure DevOps. A meno che non sia stato disabilitato il criterio Revoca automatica token di accesso personali persi, viene immediatamente revocato il token di accesso personale persa. Si consiglia agli utenti interessati di attenuare il problema revocando il token trapelato e sostituendolo con un nuovo token. Per altre informazioni, vedere Revocare automaticamente le reti AP perse.For more information, see Revoke leaked PAT automatically.
D: È possibile usare un token di accesso personale come ApiKey per pubblicare pacchetti NuGet in un feed di Azure Artifacts usando la riga di comando dotnet/nuget.exe?
R: No. Azure Artifacts non supporta il passaggio di un token di accesso personale come ApiKey. Quando si usa un ambiente di sviluppo locale, è consigliabile installare il provider di credenziali di Azure Artifacts per l'autenticazione con Azure Artifacts. Per altre informazioni, vedere gli esempi seguenti: dotnet, NuGet.exe. Se si desidera pubblicare i pacchetti usando Azure Pipelines, utilizzare l'attività NuGet Authenticate per eseguire l'autenticazione con il feed. Vedi esempio.
D: Perché il mio PAT smetteva di funzionare?
R: L'autenticazione pat richiede di accedere regolarmente ad Azure DevOps usando il flusso di autenticazione completo. L'accesso una volta ogni 30 giorni è sufficiente per molti utenti, ma potrebbe essere necessario accedere più frequentemente a seconda della configurazione di Microsoft Entra. Se il token di accesso personale smette di funzionare, provare prima di tutto ad accedere all'organizzazione e completare la richiesta di autenticazione completa. Se il pat non funziona ancora, verificare se è scaduto.
L'abilitazione dell'autenticazione di base di IIS invalida l'uso di PTS per Azure DevOps Server. Per altre informazioni, vedere Uso dell'autenticazione di base di IIS con Azure DevOps in locale.
D: Ricerca per categorie creare chiavi di accesso non associate a una persona specifica a scopo di distribuzione?
R: In Azure DevOps è possibile creare chiavi di accesso non associate a una persona specifica usando entità servizio o identità gestite. Per altre informazioni, vedere Gestire le connessioni al servizio e Usare i segreti di Azure Key Vault in Azure Pipelines.
Articoli correlati
- Usare i criteri per gestire i token di accesso personali per gli utenti
- Revocare le PT utente (per gli amministratori)
- Informazioni sulla sicurezza, l'autenticazione e l'autorizzazione
- Esaminare le autorizzazioni predefinite e l'accesso per Azure DevOps
- Gestire i token di accesso personale tramite l'API REST
- Gestire entità servizio e identità gestite in Azure DevOps