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.

  1. Melden Sie sich bei Ihrer Organisation an (https://dev.azure.com/{yourorganization}).

  2. Öffnen Sie auf Ihrer Startseite die Benutzereinstellungen , und wählen Sie Persönliche Zugriffstoken aus.

    Screenshot: Auswahl von persönlichen Zugriffstoken

  3. Wählen Sie + Neues Token aus.

    Screenshot der Auswahl

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

    Screenshot: Eingabe grundlegender Tokeninformationen

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

    Screenshot: Ausgewählte Bereiche für ein PAT.

    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.governancein der Benutzeroberfläche nicht ausgewählt werden.

  6. Wenn Sie fertig sind, kopieren Sie das Token, und speichern Sie es an einem sicheren Speicherort. Aus Sicherheitsgründen wird es nicht mehr angezeigt.

    Screenshot: Kopieren des Tokens in die Zwischenablage

Warnung

Behandeln und verwenden Sie ein PAT wie Ihr Kennwort, und halten Sie es geheim.

  1. Melden Sie sich bei Ihrem Webportal an (https://{server}:8080/tfs/).

  2. Öffnen Sie auf Ihrer Startseite Ihr Profil. Wechseln Sie zu Ihren Sicherheitsdetails.

    Screenshot: Startseite, Öffnen Ihres Profils und Schaltfläche

  3. Erstellen Sie ein persönliches Zugriffstoken.

    Screenshot: Hinzufügen eines persönlichen Zugriffstokens

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

    Screenshot: Informationseintrag, einschließlich Tokenname und Lebensdauer.

  5. 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).

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

    Screenshot: Erstelltes Token

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.

Screenshot: PAT-Benachrichtigung

Die folgende Abbildung zeigt ein Beispiel für die siebentägige Benachrichtigung, bevor Ihr PAT abläuft.

Screenshot: PAT-Benachrichtigung über den nahen Ablauf

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:

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.

  1. Öffnen Sie auf Ihrer Startseite Ihre Benutzereinstellungen, und wählen Sie dann Profil aus.

    Screenshot: Sequenz der Schaltflächen, die zum Ändern eines PAT ausgewählt werden sollen

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

    Screenshot: hervorgehobene Schaltfläche

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

    Screenshot: gespeicherte PAT

Widerrufen eines PAT

Sie können eine PAT jederzeit aus verschiedenen Gründen widerrufen.

  1. Öffnen Sie auf Ihrer Startseite Ihre Benutzereinstellungen, und wählen Sie dann Profil aus.

    Screenshot: Sequenz der Schaltflächen zum Auswählen, Team Services, Vorschauseite und Widerrufen eines PAT

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

    Screenshot: Auswahl, um ein einzelnes Token oder alle Token zu widerrufen.

  3. Wählen Sie im Bestätigungsdialogfeld widerrufen aus.

    Screenshot: Bestätigungsbildschirm zum Widerrufen von PAT

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.