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 | Azure DevOps Server 2022
L'autenticazione sicura è fondamentale per proteggere i repository Git di Azure Repos e Azure DevOps Server. Con più opzioni di autenticazione disponibili, ovvero token OAuth di Microsoft Entra, token di accesso personale e chiavi SSH, la scelta del metodo corretto garantisce sia la sicurezza che la produttività per il flusso di lavoro di sviluppo.
I token OAuth di Microsoft Entra sono l'approccio consigliato per i team di sviluppo moderni, offrendo sicurezza avanzata tramite gli standard OAuth 2.0 e l'integrazione senza problemi con i sistemi di gestione delle identità aziendali. Sia che si stia lavorando dalla riga di comando, usando i client Git o l'integrazione con pipeline CI/CD, selezionando un metodo di autenticazione con limiti di ambito appropriati si riducono i rischi di sicurezza mantenendo al tempo stesso l'accesso necessario.
Revocare o ciclare sempre le credenziali quando non sono più necessarie. Questa procedura mantiene la sicurezza del repository e segue il principio dell'accesso con privilegi minimi.
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.
Suggerimento
È possibile usare l'intelligenza artificiale per semplificare le attività di Azure DevOps. Per iniziare, vedere Abilitare l'assistenza per intelligenza artificiale con il server MCP di Azure DevOps .
Meccanismi di autenticazione
Token OAuth di Microsoft Entra (scelta consigliata)
I token Microsoft Entra sono il metodo di autenticazione preferito per le operazioni Git e le API REST. Offrono funzionalità di sicurezza avanzate e possono essere usate ovunque vengano usati i token di accesso personale. Questi token vengono generati per un principale utente o un'identità gestita e/o un principale del servizio.
Avvio rapido con l'interfaccia della riga di comando di Azure: È possibile ottenere un token Microsoft Entra per l'uso immediato con le operazioni Git usando l'interfaccia della riga di comando di Azure. Questo metodo è ideale per i test o le operazioni monouso.
Per l'autenticazione utente:
az login
az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
Per l'autenticazione dell'entità servizio: Accedere prima come entità servizio, quindi ottenere il token:
az login --service-principal -u <client-id> -p <client-secret> --tenant <tenant-id>
az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
Esempio di utilizzo con Git:
$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}
Token di accesso personali (opzione alternativa)
I token di accesso personali (PAT) forniscono l'accesso ad Azure DevOps senza dover utilizzare direttamente il nome utente e la password. Questi token scadono e consentono di limitare l'ambito dei dati a cui possono accedere.
Usare i token di accesso personale (PAT) quando:
- Le chiavi SSH non sono configurate nel sistema
- È necessario limitare le autorizzazioni concesse dalle credenziali
- I token OAuth di Microsoft Entra non sono disponibili nello scenario
Le interazioni Git richiedono un nome utente, che può essere qualsiasi cosa tranne una stringa vuota. Per usare un token di accesso personale con l'autenticazione di base HTTP, Base64-encode il tuo $MyPat come illustrato nel blocco di codice seguente.
- Windows
- Linux/macOS
In PowerShell immettere il codice seguente.
$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue
git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Chiavi SSH
L'autenticazione della chiave con SSH funziona tramite una coppia di chiavi pubblica e privata creata nel computer. Associare la chiave pubblica al proprio nome utente dal Web. Azure DevOps crittografa i dati inviati con tale chiave quando si usa Git. È possibile decrittografare i dati nel computer con la chiave privata, che non viene mai condivisa o inviata in rete.
SSH è un'ottima opzione se è già configurata nel sistema, basta aggiungere una chiave pubblica ad Azure DevOps e clonare i repository usando SSH. SSH potrebbe essere preferibile per Linux, macOS o Windows che esegue Git per Windows , in cui i gestori di credenziali Git o i token di accesso personale per l'autenticazione HTTPS non sono disponibili.
Per altre informazioni, vedere Configurare SSH con Azure DevOps.
Usare Git Credential Manager per generare token
Usare il Git Credential Manager (GCM) per evitare di immettere le credenziali ogni volta e mantenere il token più sicuro quando si accede ad Azure Repos. Accedere al portale Web, generare un token e quindi usare il token come password quando ci si connette ad Azure Repos. I token Microsoft Entra (preferiti) o i token PAT vengono generati su richiesta quando il gestore delle credenziali è installato e salvato localmente per l'uso con la riga di comando Git o un altro client.
Repository esistenti
Rimuovi l'origine esistente : se in precedenza è stata aggiunta l'origine usando un nome utente, rimuoverla eseguendo il comando seguente:
git remote remove originAutenticazione con un PAT - se si verificano problemi con l'autenticazione standard, eseguire il seguente comando per autenticarsi tramite la riga di comando:
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>git push -u origin --allIl
path to git repo = /_git/dofa riferimento alla struttura del percorso URL usata nei repository Azure DevOps per Git. Il segmento/_git/indica che si accede a un repository Git ed è necessario sostituiredocon il nome effettivo del repository. Ad esempio, se il repository è denominatomy-repo, il percorso sarà/_git/my-repo.Clonare il repository : se si usa Git ed è necessario eseguire l'autenticazione, eseguire il comando seguente:
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}Sostituire
{organization}con il nome dell'organizzazione di Azure DevOps e{repository}con il nome del repository.