Autentisering med Azure-repon
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Att välja rätt autentiseringsmetod är avgörande för säker åtkomst till dina Azure Repos- och Azure DevOps Server Git-lagringsplatser. Oavsett om du arbetar från en kommandotolk eller använder en Git-klient som stöder HTTPS eller SSH är det viktigt att välja autentiseringsuppgifter som inte bara ger nödvändig åtkomst utan även begränsar omfånget till vad som behövs för dina uppgifter.
Återkalla alltid autentiseringsuppgifter när de inte längre krävs för att upprätthålla säkerheten för dina lagringsplatser. Den här metoden säkerställer att du har flexibiliteten att arbeta med din kod på ett säkert och effektivt sätt, samtidigt som du skyddar den mot obehörig åtkomst.
Autentiseringsmekanismer
Microsoft Entra OAuth-token
Använd Microsoft Entra för att generera token för åtkomst till REST-API:er. Microsoft Entra-token kan användas varhelst personliga åtkomsttoken används. Här är ett användbart tips om hur du hämtar en engångsåtkomsttoken från Azure CLI för att anropa git fetch:
$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}
Tips
Titta på Git Credential Manager (GCM) i stället för att undvika att ange dina autentiseringsuppgifter varje gång. Använd GCM med standardtypen för autentiseringsuppgifter som Oauth
för att generera Microsoft Entra-token.
Personliga åtkomsttoken
Personliga åtkomsttoken (PATs) tillhandahåller åtkomst till Azure DevOps utan att använda ditt användarnamn och lösenord direkt. Dessa token upphör att gälla och gör att du kan begränsa omfattningen för de data som de kan komma åt.
Använd PAT för att autentisera om du inte har konfigurerat SSH-nycklar i systemet eller behöver begränsa de behörigheter som beviljas av autentiseringsuppgifterna.
Git-interaktioner kräver ett användarnamn, vilket kan vara allt annat än en tom sträng. Om du vill använda en PAT med grundläggande HTTP-autentisering Base64-encode
din $MyPat
enligt följande kodblock.
I PowerShell anger du följande kod.
$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
Tips
Om du använder PAT regelbundet kan du titta på Git Credential Manager (GCM) i stället för att undvika att ange dina autentiseringsuppgifter varje gång. Ännu bättre är att utforska att använda GCM med standardtyp för autentiseringsuppgifter som Oauth
för att generera Microsoft Entra-token i stället för PAT när det är möjligt.
SSH-nycklar
Nyckelautentisering med SSH fungerar via ett offentligt och privat nyckelpar som du skapar på datorn. Du associerar den offentliga nyckeln med ditt användarnamn från webben. Azure DevOps krypterar de data som skickas till dig med den nyckeln när du arbetar med Git. Du dekrypterar data på datorn med den privata nyckeln, som aldrig delas eller skickas via nätverket.
SSH är ett bra alternativ om du redan har konfigurerat det i systemet– lägg bara till en offentlig nyckel i Azure DevOps och klona dina lagringsplatser med hjälp av SSH. SSH kan föredras för dem i Linux, macOS eller Windows som kör Git för Windows som inte kan använda Git-autentiseringshanterare eller personliga åtkomsttoken för HTTPS-autentisering.
Mer information finns i Konfigurera SSH med Azure DevOps.
Använda Git Credential Manager för att generera token
Använd Git Credential Manager (GCM) för att undvika att ange dina autentiseringsuppgifter varje gång och skydda din token vid åtkomst till Azure Repos. Logga in på webbportalen, generera en token och använd sedan token som lösenord när du ansluter till Azure Repos. Microsoft Entra-token eller PAT genereras på begäran när du har installerat autentiseringshanteraren och sparat lokalt för användning med Git-kommandoraden eller annan klient.
Befintliga lagringsplatser
Ta bort befintligt ursprung: Om du tidigare har lagt till ursprunget med ett användarnamn tar du bort det genom att köra följande kommando:
git remote remove origin
Autentisera med en PAT: Om du stöter på problem med standardautentisering kör du följande kommando för att autentisera via kommandoraden:
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>
git push -u origin --all
path to git repo = /_git/do
refererar till url-sökvägsstrukturen som används i Azure DevOps för Git-lagringsplatser. Segmentet/_git/
anger att du har åtkomst till en Git-lagringsplats och du bör ersättado
med det faktiska namnet på lagringsplatsen. Om lagringsplatsen till exempel hetermy-repo
blir sökvägen/_git/my-repo
.Clone-lagringsplats: Kör följande kommando om du använder Git och behöver autentisera:
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}
Ersätt
{organization}
med ditt Azure DevOps-organisationsnamn och{repository}
med namnet på lagringsplatsen.