Authentifizierung mit Azure Repos
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Die Auswahl der richtigen Authentifizierungsmethode ist entscheidend für den sicheren Zugriff auf Ihre Azure Repos- und Azure DevOps Server Git-Repositorys. Ganz gleich, ob Sie von einer Eingabeaufforderung aus arbeiten oder einen Git-Client verwenden, der HTTPS oder SSH unterstützt, es ist wichtig, Anmeldeinformationen auszuwählen, die nicht nur den erforderlichen Zugriff bieten, sondern auch den Umfang auf die für Ihre Aufgaben erforderlichen Bereiche beschränken.
Widerrufen Sie immer Die Anmeldeinformationen, wenn sie nicht mehr erforderlich sind, um die Sicherheit Ihrer Repositorys aufrechtzuerhalten. Dieser Ansatz stellt sicher, dass Sie die Flexibilität haben, sicher und effizient mit Ihrem Code zu arbeiten und gleichzeitig vor unbefugtem Zugriff zu schützen.
Authentifizierungsmechanismen
Microsoft Entra OAuth-Token
Verwenden Sie Microsoft Entra, um Token für den Zugriff auf REST-APIs zu generieren. Microsoft Entra-Token können überall verwendet werden, wo persönliche Zugriffstoken verwendet werden. Hier ist ein hilfreicher Tipp zum Abrufen eines einmaligen Zugriffstokens aus der Azure-CLI, um einen Git-Abruf zu tätigen:
$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}
Tipp
Werfen Sie stattdessen einen Blick auf den Git Credential Manager (GCM), um zu vermeiden, dass Sie jedes Mal Ihre Anmeldeinformationen eingeben müssen. Verwenden Sie GCM mit Standardanmeldeinformationstyp als Oauth
, um Microsoft Entra-Token zu generieren.
Persönliche Zugriffstoken
Persönliche Zugriffstoken (PATs) ermöglichen den Zugriff auf Azure DevOps, ohne dass Sie Ihren Benutzernamen und Ihr Kennwort direkt verwenden müssen. Diese Token laufen ab und ermöglichen es Ihnen, den Umfang der Daten einzuschränken, auf die sie zugreifen können.
Verwenden Sie PATs, um sich zu authentifizieren, wenn Sie keine SSH-Schlüssel auf Ihrem System eingerichtet haben oder die von den Anmeldeinformationen erteilten Berechtigungen einschränken müssen.
Git-Interaktionen erfordern einen Benutzernamen, der alles außer einer leeren Zeichenfolge sein kann. Um ein PAT mit HTTP-Standardauthentifizierung zu verwenden, Base64-encode
Sie Ihren $MyPat
wie im folgenden Codeblock aufgeführt.
Geben Sie in PowerShell den folgenden Code ein.
$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
Tipp
Wenn Sie PATs regelmäßig verwenden, schauen Sie sich stattdessen den Git Credential Manager (GCM) an, um Ihre Anmeldeinformationen nicht jedes Mal eingeben zu müssen. Sie können sogar versuchen, GCM mit dem Standardanmeldeinformationstyp Oauth
zu verwenden, um, wann immer es möglich ist, Microsoft Entra-Token anstatt PATs zu generieren.
SSH-Schlüssel
Die Schlüsselauthentifizierung mit SSH funktioniert über ein öffentliches und privates Schlüsselpaar, das Sie auf Ihrem Computer erstellen. Sie ordnen den öffentlichen Schlüssel Ihrem Benutzernamen aus dem Web zu. Azure DevOps verschlüsselt die an Sie gesendeten Daten mit diesem Schlüssel, wenn Sie mit Git arbeiten. Sie entschlüsseln die Daten auf Ihrem Computer mit dem privaten Schlüssel, der nie freigegeben oder über das Netzwerk gesendet wird.
SSH ist eine gute Option, wenn Sie es bereits auf Ihrem System eingerichtet haben. Fügen Sie einfach einen öffentlichen Schlüssel zu Azure DevOps hinzu, und klonen Sie Ihre Repositorys mit SSH. Diejenigen, die Git for Windows unter Linux, macOs oder Windows ausführen und keine Git-Anmeldeinformationsmanager oder persönlichen Zugriffstoken zur HTTPS-Authentifizierung verwenden können, ist SSH möglicherweise eine bessere Option.
Weitere Informationen finden Sie unter Einrichten von SSH mit Azure DevOps.
Verwenden des Git Credential Manager zum Generieren von Token
Verwenden Sie die Git Credential Manager (GCM), um die Eingabe Ihrer Anmeldeinformationen jedes Mal zu vermeiden und Ihr Token beim Zugriff auf Azure Repos sicherer zu halten. Melden Sie sich beim Webportal an, generieren Sie ein Token, und verwenden Sie dann das Token als Kennwort, wenn Sie eine Verbindung mit Azure Repos herstellen. Microsoft Entra-Token oder PATs werden bei Bedarf generiert, wenn Sie die Anmeldeinformationsverwaltung installiert und lokal gespeichert haben, um sie mit der Git-Befehlszeile oder einem anderen Client zu verwenden.
Vorhandene Repositorys
Vorhandenen Ursprung entfernen: Wenn Sie den Ursprung zuvor mit einem Benutzernamen hinzugefügt haben, entfernen Sie ihn, indem Sie den folgenden Befehl ausführen:
git remote remove origin
Authentifizieren mit einem PAT: Wenn Probleme mit der Standardauthentifizierung auftreten, führen Sie den folgenden Befehl aus, um sich über die Befehlszeile zu authentifizieren:
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>
git push -u origin --all
Die
path to git repo = /_git/do
bezieht sich auf die URL-Pfadstruktur, die in Azure DevOps für Git-Repositorys verwendet wird. Das/_git/
Segment gibt an, dass Sie auf ein Git-Repository zugreifen, und Sie solltendo
durch den tatsächlichen Namen Ihres Repositorys ersetzen. Wenn Ihr Repository beispielsweisemy-repo
benannt ist, lautet der Pfad "/_git/my-repo
".Klon-Repository: Wenn Sie Git verwenden und sich authentifizieren müssen, führen Sie den folgenden Befehl aus:
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}
Ersetzen Sie
{organization}
durch den Namen Ihrer Azure DevOps-Organisation und{repository}
durch den Namen Ihres Repositorys.