Condividi tramite


Usare i token di accesso personale

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

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. Trattare le reti PAT con lo stesso livello di cautela delle password.

Attenzione

Evitare l'uso dei Personal Access Tokens (PAT) quando è disponibile un metodo di autenticazione più sicuro. I PAT comportano rischi di sicurezza intrinseci perché sono credenziali di lunga durata che possono essere divulgate, rubate o usate in modo improprio. Usare invece i token Microsoft Entra, le identità gestite o le entità servizio, quando possibile.

Quando si usano gli strumenti Microsoft, l'account Microsoft o l'ID Microsoft Entra vengono riconosciuti e supportati. Se si usano strumenti che non supportano gli account Microsoft Entra o se si preferisce non condividere le credenziali primarie, prendere in considerazione l'uso di PTP come metodo di autenticazione alternativo.

Importante

Prendere in considerazione l'uso dei token microsoft Entra più sicuri rispetto ai token di accesso personali a rischio più elevato. Per altre informazioni, vedere Ridurre l'utilizzo di PAT. Esaminare le indicazioni per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.

Prerequisiti

Categoria Requisiti
Autorizzazioni Autorizzazione per l'accesso e la modifica delle impostazioni utente in cui vengono gestite le reti PAT.
- 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 Impostazioni progetto>Autorizzazioni. 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.
- Se l'organizzazione dispone di politiche, un amministratore potrebbe dover concedere autorizzazioni specifiche o aggiungere l'utente a un elenco di indirizzi consentiti per creare e gestire i PAT.
- I PATs sono collegati all'account utente che ha coniato il token. A seconda delle attività eseguite dal PAT, potrebbe essere necessario disporre di più permessi.
Livelli di accesso Almeno l'accesso di base.
Attività Utilizzare i Personal Access Token (PAT) solo quando necessario e ruotarli regolarmente. Vedere la sezione Procedure consigliate per l'uso di PTS.

Creare un PAT

Annotazioni

I passaggi e gli screenshot seguenti riflettono Azure DevOps Services. L'esperienza del server Azure DevOps potrebbe variare leggermente.

  1. Accedi alla tua organizzazione (https://dev.azure.com/{Your_Organization}).
  1. Accedere al portale Web di Azure DevOps Server (https://{server}/{collection} o http://{server}:{port}/tfs/{collection}).
  1. Dalla home page, aprire le impostazioni utente e selezionare Token di accesso personale.

    Screenshot che mostra l'opzione Token di accesso personali nelle impostazioni utente.

  2. Selezionare + Nuovo token.

    Screenshot che mostra il pulsante Nuovo Token nella pagina Token di Accesso Personale.

  3. 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.

    Screenshot che mostra la finestra di dialogo Crea un nuovo token di accesso personale con i campi nome, organizzazione e scadenza.

  4. Selezionare gli ambiti per questo token da autorizzare per le tue 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.

    Screenshot mostra le opzioni di selezione dello scopo per un PAT.

    L'amministratore potrebbe limitarti nella creazione di PAT con ambito completo o consentirti solo PAT con ambito di pacchetto. Contattare l'amministratore per essere inserito nella lista di autorizzazioni se è necessario accedere a ulteriori ambiti. Alcuni ambiti, ad esempio , vso.governancepotrebbero non essere disponibili nell'interfaccia utente se non sono per uso pubblico diffuso.

  5. Al termine, copiare il token e archiviarlo in una posizione sicura. Per la sicurezza, non viene visualizzata di nuovo.

    Screenshot che mostra il pulsante

È possibile usare il token di accesso personale ovunque siano necessarie le credenziali utente per l'autenticazione in Azure DevOps. Ricordare:

  • Trattare un PAT con la stessa cautela della password e mantenerlo riservato. Non condividere i PAT.
  • Per le organizzazioni supportate da Microsoft Entra ID, accedete con il nuovo PAT entro 90 giorni, altrimenti diventerà inattivo. Per altre informazioni, vedere Frequenza di accesso utente per l'accesso condizionale.

Notifiche

Durante la durata di un pat, gli utenti ricevono due notifiche: una alla creazione del pat e un'altra prima della scadenza.

Dopo aver creato un pat, è possibile ricevere una notifica simile all'esempio seguente. Questa notifica serve per confermare che il Personal Access Token (PAT) è stato aggiunto con successo alla tua organizzazione.

Screenshot che mostra la posta elettronica di notifica creata da PAT.

Un messaggio di posta elettronica di notifica di scadenza viene inviato prima della scadenza del token. Se l'amministratore ha rimosso la tua possibilità di creare PAT nell'organizzazione, l'email indica che non è più possibile rigenerare i PAT. Contatta l'amministratore della raccolta di progetti per essere incluso in una lista consentiti per le autorizzazioni continuative di creazione PAT nell'organizzazione.

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/{yourorganization} on YourMachine viene creato quando ci si connette a un repository Git di Azure DevOps tramite git.exe.
  • Un token denominato Service Hooks: Azure App Service: Deploy web app 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 Microsoft Teams Integration viene creato quando viene configurata un'estensione di messaggistica di integrazione di Microsoft Teams.

Se pensi che la situazione sia seria:

Usare un PAT

Il pat viene usato come identità digitale, in modo analogo a una password. È possibile usare LET come modo rapido per eseguire richieste monouso o creare un prototipo di un'applicazione in locale. Usare un token di accesso personale nel codice per autenticare le richieste dell'API REST e automatizzare i flussi di lavoro includendo il pat nell'intestazione di autorizzazione della richiesta.

Dopo che il codice dell'app funziona, passare a Microsoft Entra OAuth per acquisire i token per gli utenti dell'app o a un'entità servizio o un'identità gestita per acquisire i token come applicazione. Non eseguire continuamente app o script con token di accesso personale per periodi prolungati. È possibile usare i token Microsoft Entra ovunque venga usato un pat.

Prendere in considerazione l'acquisizione di un token Microsoft Entra tramite l'interfaccia della riga di comando di Azure per le richieste non pianificate.

Per fornire il pat tramite un'intestazione HTTP, è prima necessario convertirlo in una Base64 stringa. Può quindi essere fornito come intestazione HTTP nel formato seguente:


Authorization: Basic BASE64_USERNAME_PAT_STRING

Modificare un PAT (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 cambiarne le autorizzazioni.
  1. Dalla home page, aprire le impostazioni utente e selezionare Token di accesso personale.

  2. Selezionare il token da modificare e quindi selezionare Modifica.

    Screenshot che mostra evidenziato il pulsante Modifica per una voce PAT.

  3. Modificare il nome del token, la scadenza del token o l'ambito di accesso associato al token e quindi selezionare Salva.

    Screenshot che mostra la finestra di dialogo Modifica per un token di accesso personale con nome, scadenza e campi di ambito.

Revocare un token di accesso personale

È possibile revocare un pat in qualsiasi momento per questi e altri motivi:

  • Violazione della sicurezza: revocare immediatamente un PAT se si sospetta che sia stata compromessa, divulgata o esposta nei log o nei repository pubblici.
  • Non più necessario: revocare un token di accesso personale al termine del progetto, del servizio o dell'integrazione per cui è stato creato.
  • Conformità ai criteri: revocare un Personal Access Token (PAT) per applicare le politiche di sicurezza, soddisfare i requisiti di conformità o rispettare le pianificazioni di rotazione dei token dell'organizzazione.
  • Modifiche utente: Revocare un PAT quando un membro del team lascia l'organizzazione oppure cambia ruolo e non ha più bisogno di accedere.
  • Riduzione dell'ambito: revocare e ricreare un pat con autorizzazioni ridotte quando è necessario limitare le funzionalità di accesso.
  • Manutenzione regolare: Revocare un PAT come parte dell'igiene di routine della sicurezza e della gestione del ciclo di vita dei token.

Per revocare un pat, seguire questa procedura:

  1. Nella home page aprire le impostazioni utente e selezionare Token di accesso personali.

  2. In Sicurezza selezionare Token di accesso personali. Selezionare il token per il quale si vuole revocare l'accesso e quindi selezionare Revoca.

    La screenshot mostra l'opzione Revoca per un token selezionato nella pagina Token di Accesso Personali.

  3. Nella finestra di dialogo Conferma selezionare Revoca.

    Screenshot della finestra di dialogo conferma per revocare un PAT.

API di gestione del ciclo di vita PAT

Le API di gestione del ciclo di vita pat possono essere utili quando la gestione di grandi volumi di token tramite l'interfaccia utente non è sostenibile. La gestione della rotazione pat a livello di codice consente anche di ruotare regolarmente i token di accesso e ridurre la durata predefinita. È possibile configurare l'app Python di esempio con il tenant di Microsoft Entra e l'organizzazione Azure DevOps.

Alcuni aspetti da notare su queste API:

  • Per accedere a questa API sono necessari token di accesso Microsoft Entra. Usare una forma di autenticazione più avanzata quando si conino nuovi token.
  • Solo gli utenti o le app che utilizzano un flusso "per conto dell'utente" possono generare i Token di Accesso Personale (PAT). Le app che usano flussi "on-behalf-of-application" o flussi di autenticazione che non rilasciano token di accesso Microsoft Entra non sono validi per l'uso con questa API. Di conseguenza, le entità servizio o le identità gestite non possono creare o gestire PAT.
  • In precedenza, le API di gestione del ciclo di vita PAT supportano solo l'ambito user_impersonation , ma ora vso.pats sono disponibili e sono l'ambito consigliato da usare con queste API. Downscope tutte le app che in precedenza si basavano su user_impersonation per chiamare queste API.

Formato PAT

Le stringhe PAT usano un formato specifico progettato per migliorare il rilevamento dei segreti negli strumenti per il rilevamento di PAT trapelati e nelle soluzioni dei partner. Il formato include bit identificabili che migliorano la frequenza di rilevamento dei falsi positivi e consentono una mitigazione più rapida delle perdite rilevate.

  • I token sono lunghi 84 caratteri, di cui 52 sono caratteri casuali, che migliorano l'entropia complessiva. I token sono resistenti agli attacchi di forza bruta.
  • I token rilasciati da Azure DevOps includono una firma fissa AZDO nelle posizioni 76-80.

Se si integra con i PAT e la convalida dei PAT è incorporata, assicurarsi che il codice di convalida supporti la lunghezza del token di 84 caratteri.

Migliori pratiche per l'utilizzo dei PAT

Prendere in considerazione le alternative

  • Acquisire un token Microsoft Entra tramite Azure CLI per le richieste non pianificate invece di coniare un PAT di lunga durata.
  • Usare gestori di credenziali come Git Credential Manager o Azure Artifacts Credential Manager per semplificare la gestione delle credenziali, con l'autenticazione impostata su oauth o i token di Microsoft Entra.

Creare i token di accesso personali

  • Non inserire dati personali nel nome PAT. Non rinominare il nome pat in modo da includere alcuni o tutti i token PAT effettivi.
  • Evitare la creazione di protocolli PAT globali, a meno che non sia necessario in tutte le organizzazioni.
  • Usare un token diverso per flusso o caso d'uso.
  • Seleziona solo gli ambiti minimi necessari per ciascun PAT. Concedere il privilegio minimo necessario per l'attività specifica. Creare token PAT separati con ambiti limitati per flussi di lavoro diversi anziché usare un singolo token con ambito generico. Se il PAT ha bisogno di autorizzazioni di sola lettura, non consentire autorizzazioni di scrittura fino a quando non sono necessarie.
  • Mantieni breve la durata dei PAT.

Gestire i Token di Accesso Personale

  • Non condividere i tuoi PATs!
  • Archiviare le API in una soluzione di gestione delle chiavi sicura, ad esempio Azure Key Vault.
  • Ruotare o rigenerare regolarmente i PAT tramite l'interfaccia utente o utilizzando le API di gestione del ciclo di vita dei PAT.
  • Revocare i PT quando non sono più necessari.

Per gli amministratori

Domande frequenti

Q. Perché non è possibile modificare o rigenerare un pat con ambito a una singola organizzazione?

A. Accedi all'organizzazione dove è definito il tuo PAT. È possibile visualizzare i token di accesso quando si è collegati a qualsiasi organizzazione nella stessa Microsoft Entra ID modificando il filtro ambito di accesso. È possibile modificare solo i token con ambito organizzazione quando si è connessi all'organizzazione specifica.

Q. Cosa accade a un pat se un account utente è disabilitato?

A. Quando un utente viene rimosso da Azure DevOps, il pat viene invalidato entro un'ora. Se l'organizzazione è connessa all'ID Microsoft Entra, il pat viene invalidato anche in Microsoft Entra ID perché appartiene all'utente. Ruotare il Personal Access Token (PAT) su un altro account utente o account di servizio per mantenere i servizi in esecuzione.

Q. Posso usare i token di accesso personali (PAT) con tutte le API REST di Azure DevOps?

A. No È possibile utilizzare i token di accesso personale (PAT) con la maggior parte delle API REST di Azure DevOps, tuttavia le organizzazioni e i profili e le API del ciclo di vita della gestione delle PAT supportano solo i token Microsoft Entra.

Q. Cosa succede se carico accidentalmente il mio token di accesso personale (PAT) in un repository pubblico su GitHub?

A. Azure DevOps scansiona i repository GitHub pubblici per individuare PAT compromessi. Quando viene rilevato, Azure DevOps invia una notifica al proprietario del token e registra l'evento nel log di controllo. A meno che non siano disabilitati, i PAT esposti vengono revocati automaticamente. Per altre informazioni, vedere Revocare automaticamente i PAT trapelati.

Q. È possibile usare un token di accesso personale come chiave API per pubblicare pacchetti NuGet in un feed di Azure Artifacts usando la riga di comando dotnet/nuget.exe?

A. No Azure Artifacts non supporta il passaggio di un token di accesso personale come chiave API. Quando si usa un ambiente di sviluppo locale, installare il provider di credenziali di Azure Artifacts per l'autenticazione con Azure Artifacts. Per altre informazioni, vedere gli esempi seguenti: dotnet e NuGet.exe. Per pubblicare i pacchetti usando Azure Pipelines, usare l'attività Autenticazione NuGet per autenticarsi con il feed. Per altre informazioni, vedere l'esempio in Pubblicare pacchetti NuGet con Azure Pipelines (YAML/classico).

Q. Perché il mio PAT smetteva di funzionare?

A. 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, controlla se è scaduto.

Per Azure DevOps Server, l'abilitazione dell'autenticazione di base di IIS invalida l'utilizzo di PAT. Mantenere disattivata l'autenticazione di base di IIS.

Q. Come si creano token di accesso che non sono associati a un utente specifico?

A. I PAT sono sempre associati all'identità dell'utente che li ha creati. Per usare i token non associati a un utente specifico, usare i token Microsoft Entra emessi da un'entità servizio dell'applicazione o da un'identità gestita. Per le pipeline, usare le connessioni al servizio per l'autenticazione senza credenziali specifiche dell'utente. Altre informazioni sulla riduzione dell'utilizzo di PAT in Azure DevOps.

Q. Come è possibile rigenerare/ruotare i PT tramite l'API? Ho visto questa opzione nell'interfaccia utente, ma non vedo un metodo simile nell'API.

A. La funzionalità Rigenera disponibile nell'interfaccia utente esegue diverse azioni, che è possibile replicare tramite un'API.

Per ruotare il PAT, seguire questa procedura:

  1. Vedere i metadati PAT con una chiamata GET.
  2. Creare un nuovo pat con l'ID PAT precedente usando una chiamata POST .
  3. Revocare il Token di Accesso Personale precedente usando una chiamata DELETE.

Q. Per quanto tempo un pat scaduto, revocato o inattivo rimane visibile nell'elenco di token di Azure DevOps?

A. Non è più possibile usare o rigenerare i PT scaduti o revocati. Questi token inattivi rimangono visibili per diversi mesi dopo la scadenza o la revoca prima di essere rimossi automaticamente dalla visualizzazione.

Q. Perché viene visualizzato un messaggio "Necessità di approvazione dell'amministratore" quando si tenta di usare un'app Microsoft Entra per chiamare le API di gestione del ciclo di vita PAT?

A. I criteri di sicurezza del tenant richiedono il consenso amministratore prima che le applicazioni possano accedere alle risorse dell'organizzazione. Contatta l'amministratore del tenant.