Persönliche Zugriffstoken verwenden
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
Sie können ein persönliches Zugriffstoken (Personal Access Token, PAT) als alternatives Kennwort verwenden, um sich bei Azure DevOps zu authentifizieren. In diesem Artikel erfahren Sie, wie Sie PATs für Azure DevOps erstellen, verwenden, ändern und widerrufen.
Informationen zu PATs
Ein persönliches Zugriffstoken enthält Ihre Sicherheitsanmeldeinformationen für Azure DevOps. Ein PAT identifiziert Sie, Ihre zugänglichen Organisationen und Umfänge des Zugriffs. Als solche sind sie genauso wichtig wie Passwörter und sollten daher auch so behandelt werden.
Wenn Sie in Microsoft-Tools arbeiten, ist Ihr Microsoft-Konto (MSA) oder Azure Active Directory (Azure AD) eine akzeptable und gut unterstützte Vorgehensweise. Wenn Sie jedoch mit Tools von Drittanbietern arbeiten, die Microsoft- oder Azure AD-Konten nicht unterstützen – oder Sie möchten Ihre primären Anmeldeinformationen nicht dem Tool bereitstellen – verwenden Sie PATs, um Ihr Risiko einzuschränken.
Sie können Ihre PATs auf eine der folgenden Arten erstellen und verwalten:
- über die Benutzeroberfläche in Ihren Benutzereinstellungen, die in diesem Artikel ausführlich beschrieben wird
- über die PAT Lifecycle Management-API
Um PATs für Nicht-Microsoft-Tools einzurichten, verwenden Sie Git-Anmeldeinformations-Manager , oder erstellen Sie sie manuell. Es wird empfohlen, unsere Authentifizierungsleitfäden zu lesen, um Ihnen bei der Auswahl des richtigen Authentifizierungsmechanismus zu helfen. Für kleinere Projekte, die eine weniger robuste Lösung erfordern, sind PATs eine einfache Alternative. Wenn Ihre Benutzer keinen Anmeldeinformationen-Manager verwenden, müssen sie jedes Mal ihre Anmeldeinformationen eingeben.
PAT erstellen
Hinweis
Die Bilder, die Sie in Ihrem Webportal sehen, unterscheiden sich möglicherweise von den Bildern, die Sie in diesem Artikel sehen. Diese Unterschiede ergeben sich aus Updates, die an Azure DevOps oder aktivierten Vorschaufeatures vorgenommen wurden. Wir haben die Seite "Neuer Konto-Manager " aktiviert. Die grundlegenden Funktionen, die Ihnen zur Verfügung stehen, bleiben unverändert, sofern nicht explizit erwähnt.
Melden Sie sich bei Ihrer Organisation an (
https://dev.azure.com/{yourorganization}
).Öffnen Sie auf Ihrer Startseite die Benutzereinstellungen
, und wählen Sie Persönliche Zugriffstoken aus.
Wählen Sie + Neues Token aus.
Benennen Sie Ihr Token, wählen Sie die Organisation aus, in der Sie das Token verwenden möchten, und legen Sie dann fest, dass Ihr Token nach einer festgelegten Anzahl von Tagen automatisch abläuft.
Wählen Sie die Bereiche für dieses Token aus, um sie für Ihre spezifischen Aufgaben zu autorisieren.
Wenn Sie beispielsweise ein Token erstellen möchten, damit sich ein Build- und Release-Agent bei Azure DevOps Services authentifizieren kann, beschränken Sie den Bereich Ihres Tokens auf Agentpools (Verwaltung lesen&). Um Überwachungsprotokollereignisse zu lesen und Datenströme zu verwalten und zu löschen, wählen Sie Überwachungsprotokoll lesen und dann Erstellen aus.
Hinweis
Möglicherweise können Sie keine uneingeschränkten PATs erstellen. Wenn dies der Fall ist, hat Ihr Azure DevOps-Administrator in Azure AD eine Richtlinie aktiviert, die Sie auf einen bestimmten, benutzerdefinierten Satz von Bereichen beschränkt. Weitere Informationen finden Sie unter Verwalten von PATs mit Richtlinien/Einschränken der Erstellung vollständiger PATs. Für ein benutzerdefiniertes PAT kann der erforderliche Bereich für den Zugriff auf die Komponentengovernance-API
vso.governance
in der Benutzeroberfläche nicht ausgewählt werden.Wenn Sie fertig sind, kopieren Sie das Token, und speichern Sie es an einem sicheren Speicherort. Aus Sicherheitsgründen wird es nicht mehr angezeigt.
Warnung
Behandeln und verwenden Sie ein PAT wie Ihr Kennwort, und halten Sie es geheim.
Melden Sie sich bei Ihrem Webportal an (
https://{server}:8080/tfs/
).Öffnen Sie auf Ihrer Startseite Ihr Profil. Wechseln Sie zu Ihren Sicherheitsdetails.
Erstellen Sie ein persönliches Zugriffstoken.
Benennen Sie Ihr Token. Wählen Sie eine Lebensdauer für Ihr Token aus.
Wenn Sie über mehrere Organisationen verfügen, können Sie auch die Organisation auswählen, in der Sie das Token verwenden möchten.
Wählen Sie die Bereiche für dieses Token aus, um sie für Ihre spezifischen Aufgaben zu autorisieren.
Wenn Sie beispielsweise ein Token erstellen möchten, um die Authentifizierung eines Build- und Release-Agents zu ermöglichen, beschränken Sie den Bereich Ihres Tokens auf Agentpools (Lesen, Verwalten).
Wenn Sie fertig sind, stellen Sie sicher, dass Sie das Token kopieren. Aus Sicherheitsgründen wird es nicht mehr angezeigt. Verwenden Sie dieses Token als Kennwort. Klicken Sie auf Schließen.
Verwenden Sie Ihr PAT überall, wo Ihre Benutzeranmeldeinformationen für die Authentifizierung in Azure DevOps erforderlich sind.
Wichtig
Für Organisationen, die von Azure Active Directory unterstützt werden, haben Sie 90 Tage Zeit, sich mit Ihrem neuen PAT anzumelden, andernfalls wird es als inaktiv betrachtet. Weitere Informationen finden Sie unter Häufigkeit der Benutzeranmeldung für bedingten Zugriff.
Benachrichtigungen
Benutzer erhalten während der Lebensdauer eines PAT zwei Benachrichtigungen – eine nach der Erstellung und die anderen sieben Tage vor ablaufen.
Nachdem Sie ein PAT erstellt haben, erhalten Sie eine Benachrichtigung ähnlich dem folgenden Beispiel. Diese Benachrichtigung bestätigt, dass Ihr PAT ihrer Organisation hinzugefügt wurde.
Die folgende Abbildung zeigt ein Beispiel für die siebentägige Benachrichtigung, bevor Ihr PAT abläuft.
Weitere Informationen finden Sie unter Konfigurieren eines SMTP-Servers und Anpassen von E-Mails für Warnungen und Feedbackanforderungen.
Unerwartete Benachrichtigung
Wenn Sie eine unerwartete PAT-Benachrichtigung erhalten, hat ein Administrator oder Tool möglicherweise in Ihrem Namen ein PAT erstellt. Weitere Informationen finden Sie in den folgenden Beispielen.
- Wenn Sie über git.exe eine Verbindung mit einem Azure DevOps-Git-Repository herstellen. Es erstellt ein Token mit einem Anzeigenamen wie "git:
https://MyOrganization.visualstudio.com/
on MyMachine". - Wenn Sie oder ein Administrator eine Azure App Service Web-App-Bereitstellung einrichten, wird ein Token mit einem Anzeigenamen wie "Service Hooks: : Azure App Service: : Bereitstellen einer Web-App" erstellt.
- Wenn Sie oder ein Administrator Webauslastungstests als Teil einer Pipeline einrichten, wird ein Token mit einem Anzeigenamen wie "WebAppLoadTestCDIntToken" erstellt.
- Wenn eine Microsoft Teams Integration Messaging-Erweiterung eingerichtet ist, wird ein Token mit einem Anzeigenamen wie "Microsoft Teams-Integration" erstellt.
Warnung
Wenn Sie der Meinung sind, dass ein PAT fehlerhaft vorhanden ist, empfehlen wir Ihnen , die PAT zu widerrufen. Ändern Sie dann Ihr Kennwort. Wenden Sie sich als Azure AD-Benutzer an Ihren Administrator, um zu überprüfen, ob Ihre Organisation von einer unbekannten Quelle oder einem unbekannten Ort verwendet wurde. Lesen Sie auch die häufig gestellten Fragen zum versehentlichen Einchecken eines PAT in ein öffentliches GitHub-Repository.
Verwenden eines PAT
Ihr PAT ist Ihre Identität und repräsentiert Sie, wenn Sie es verwenden, genau wie ein Kennwort.
Git
Git-Interaktionen erfordern einen Benutzernamen, der alles außer der leeren Zeichenfolge sein kann.
Um ein PAT mit HTTP-Standardauthentifizierung zu verwenden, verwenden Sie Base64-encode
für und $MyPat
, die im folgenden Codeblock enthalten ist.
Geben Sie in PowerShell den folgenden Code ein.
$MyPat = 'yourPAT'
$B64Pat = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("`:$MyPat"))
git -c http.extraHeader="Authorization: Basic $B64Pat" clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Um Ihr Token sicherer zu halten, verwenden Sie Anmeldeinformations-Manager, damit Sie ihre Anmeldeinformationen nicht jedes Mal eingeben müssen. Wir empfehlen Git Credential Manager. Git für Windows ist erforderlich.
Vorhandene Repositorys
Wenn Sie für vorhandene Repositorys bereits den Ursprung mithilfe des Benutzernamens hinzugefügt haben, führen Sie zuerst den folgenden Befehl aus.
git remote remove origin
Führen Sie andernfalls den folgenden Befehl aus.
git remote add origin https://<PAT>@<company_machineName>.visualstudio.com:/<path-to-git-repo> path to git repo = <project name>/_git/<repo_name> git push -u origin --all
Verwenden eines PAT in Ihrem Code
Sie können ein PAT in Ihrem Code verwenden.
Wenn Sie den PAT über einen HTTP-Header bereitstellen möchten, konvertieren Sie ihn zuerst in eine Base64-Zeichenfolge. Das folgende Beispiel zeigt, wie Sie mithilfe von C# in Base64 konvertieren.
Authorization: Basic BASE64_USERNAME_PAT_STRING
Die resultierende Zeichenfolge kann dann als HTTP-Header im folgenden Format bereitgestellt werden.
Im folgenden Beispiel wird die HttpClient-Klasse in C# verwendet.
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());
}
}
Tipp
Wenn Sie Variablen verwenden, fügen Sie wie im folgenden Beispiel am Anfang der Zeichenfolge ein hinzu $
.
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());
}
}
Wenn Ihr Code funktioniert, ist dies ein guter Zeitpunkt, um von der einfachen Authentifizierung zu OAuth zu wechseln.
Weitere Informationen und Beispiele für die Verwendung von PATs finden Sie in den folgenden Artikeln:
- Git-Anmeldeinformations-Manager
- REST-APIs
- NuGet auf einem Mac
- Berichterstellungsclients
- Erste Schritte mit der Azure DevOps CLI.
Wenn Sie IIS-Standardauthentifizierung für TFS aktivieren, sind PATs ungültig. Weitere Informationen finden Sie unter Verwenden der IIS-Standardauthentifizierung mit lokalem TFS.
Ändern eines PAT
Sie können einen PAT neu generieren oder erweitern und seinen Bereich ändern. Nach der Regeneration ist der vorherige PAT nicht mehr autorisiert.
Öffnen Sie auf Ihrer Startseite Ihre Benutzereinstellungen, und wählen Sie dann Profil aus.
Wählen Sie unter Sicherheit die Option Persönliche Zugriffstoken aus. Wählen Sie das Token aus, das Sie ändern möchten, und dann Bearbeiten.
Bearbeiten Sie den Tokennamen, die Organisation, für die es gilt, den Tokenablauf oder den Dem Token zugeordneten Zugriffsbereich, und wählen Sie dann Speichern aus.
Widerrufen eines PAT
Sie können eine PAT jederzeit aus verschiedenen Gründen widerrufen.
Öffnen Sie auf Ihrer Startseite Ihre Benutzereinstellungen, und wählen Sie dann Profil aus.
Wählen Sie unter Sicherheit die Option Persönliche Zugriffstoken aus. Wählen Sie das Token aus, für das Sie den Zugriff widerrufen möchten, und wählen Sie dann Widerrufen aus.
Wählen Sie im Bestätigungsdialogfeld widerrufen aus.
Verwandte Artikel
- Informationen zu Sicherheit, Authentifizierung und Autorisierung
- Standardberechtigungen und Zugriff für Azure DevOps
- Benutzer-PATs widerrufen (für Administratoren)
Häufig gestellte Fragen
F: Was geschieht mit einem PAT, wenn ein Benutzerkonto deaktiviert ist?
A: Sobald ein Benutzer aus Azure DevOps entfernt wurde, wird das PAT innerhalb von 1 Stunde ungültig. Wenn Ihre Organisation mit Azure Active Directory (Azure AD) verbunden ist, wird die PAT auch in Azure AD ungültig, da sie dem Benutzer gehört. Es wird empfohlen, dass der Benutzer sein PAT auf ein anderes Benutzer- oder Dienstkonto rotiert, um die Ausführung der Dienste aufrechtzuerhalten.
F: Gibt es eine Möglichkeit, eine PAT über die REST-API zu verlängern?
A: Ja, es gibt eine Möglichkeit, PATs mithilfe unserer PAT Lifecycle Management-APIs zu erneuern, zu verwalten und zu erstellen. Weitere Informationen finden Sie unter Verwalten von PATs mit der REST-API und unsere häufig gestellten Fragen.
F: Kann ich die Standardauthentifizierung mit allen Azure DevOps-REST-APIs verwenden?
A: Nein. Sie können die einfache Authentifizierung mit den meisten Azure DevOps-REST-APIs verwenden, aber Organisationen und Profile unterstützen nur OAuth. Weitere Informationen finden Sie unter Verwalten von PATs mithilfe der REST-API.
F: Was geschieht, wenn ich mein PAT versehentlich in ein öffentliches Repository auf GitHub einchecke?
A: Azure DevOps scannt auf PATs, die in öffentlichen Repositorys auf GitHub eingecheckt wurden. Wenn wir ein geleaktes Token finden, senden wir sofort eine detaillierte E-Mail-Benachrichtigung an den Tokenbesitzer und protokollieren ein Ereignis im Überwachungsprotokoll Ihrer Azure DevOps-Organisation. Sofern Sie die Richtlinie "Durchgesickerte persönliche Zugriffstoken automatisch widerrufen" nicht deaktiviert haben, widerrufen wir die durchgesickerte PAT sofort. Wir empfehlen betroffenen Benutzern, sofort abhilfen zu können, indem sie das durchgesickerte Token widerrufen und durch ein neues Token ersetzen.
Weitere Informationen finden Sie unter Automatisches Widerrufen von geleakten PATs.
F: Kann ich ein persönliches Zugriffstoken als ApiKey verwenden, um NuGet-Pakete über die dotnet/nuget.exe-Befehlszeile in einem Azure Artifacts-Feed zu veröffentlichen?
A: Nein. Azure Artifacts unterstützt die Übergabe eines persönlichen Zugriffstokens als ApiKey nicht. Bei Verwendung einer lokalen Entwicklungsumgebung wird empfohlen, den Azure Artifacts-Anmeldeinformationsanbieter zu installieren, um sich bei Azure Artifacts zu authentifizieren. Weitere Informationen finden Sie in den folgenden Beispielen: dotnet, NuGet.exe. Wenn Sie Ihre Pakete mit Azure Pipelines veröffentlichen möchten, verwenden Sie den NuGet-Task Authentifizieren , um sich mit Ihrem Feed zu authentifizieren.
F: Warum funktionierte mein PAT nicht mehr?
A: Die PAT-Authentifizierung erfordert, dass Sie sich regelmäßig mit dem vollständigen Authentifizierungsfluss bei Azure DevOps anmelden. Alle 30 Tage ist für viele ausreichend, aber je nach Azure Active Directory-Konfiguration müssen Sie sich möglicherweise häufiger anmelden. Wenn Ihr PAT nicht mehr funktioniert, versuchen Sie zunächst, sich bei Ihrer Organisation anzumelden, und stellen Sie sicher, dass Sie die vollständige Authentifizierungsaufforderung durchlaufen. Wenn Ihr PAT danach immer noch nicht funktioniert, überprüfen Sie, ob Ihr PAT abgelaufen ist.