Persönliche Zugriffstoken verwenden

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Sie können ein persönliches Zugriffstoken (PAT) als alternatives Kennwort verwenden, um sich bei Azure DevOps zu authentifizieren. In diesem Artikel zeigen wir Ihnen, wie Sie PATs für Azure DevOps erstellen, verwenden, ändern und widerrufen.

Das folgende Video zeigt, wie Sie ein PAT erstellen und verwenden.

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 Microsoft Entra ID eine akzeptable und gut unterstützte Vorgehensweise. Wenn Sie jedoch mit Tools von Drittanbietern arbeiten, die Microsoft- oder Microsoft Entra-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-Verwaltungs-API

Um PATs für Nicht-Microsoft-Tools einzurichten, verwenden Sie Git-Anmeldeinformationsmanager , oder erstellen Sie sie manuell. Wir empfehlen Ihnen, unsere Authentifizierungsleitfaden zu überprüfen, 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

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

  2. Öffnen Sie über die Startseite Ihre Benutzereinstellungen , und wählen Sie dann Persönliche Zugriffstoken aus.

    Screenshot showing selection, Personal Access Tokens.

  3. Wählen Sie + Neues Token aus.

    Screenshot showing selection, New Token.

  4. Benennen Sie Ihr Token, wählen Sie die Organisation aus, in der Sie das Token verwenden möchten, und legen Sie ihr Token dann so fest, dass es nach einer festgelegten Anzahl von Tagen automatisch abläuft.

    Screenshot showing entry of basic token information.

  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 einen Build- und Veröffentlichungs-Agent für die Authentifizierung bei Azure DevOps Services zu aktivieren, beschränken Sie den Umfang Ihres Tokens auf Agentpools (Lesen und Verwalten). Um Überwachungsprotokollereignisse zu lesen und Datenströme zu verwalten und zu löschen, wählen Sie "Überwachungsprotokoll lesen" und dann "Erstellen" aus.

    Screenshot showing selected scopes for a PAT.

    Hinweis

    Möglicherweise können Sie keine uneingeschränkten PATs erstellen. Wenn dies der Fall ist, hat Ihr Azure DevOps-Administrator in Microsoft Entra ID eine Richtlinie aktiviert, die Sie auf einen bestimmten, benutzerdefinierten Satz von Bereichen beschränkt. Weitere Informationen finden Sie unter Manage PATs with policies/Restrict creation of full-scoped PATs. Für einen benutzerdefinierten PAT ist der erforderliche Bereich für den Zugriff auf die Component Governance-API vso.governancenicht in der Benutzeroberfläche auswählbar.

  6. Kopieren Sie danach das Token, und speichern Sie es an einem sicheren Speicherort. Für Ihre Sicherheit wird sie nicht mehr angezeigt.

    Screenshot showing how to copy the token to your clipboard.

Warnung

Behandeln und verwenden Sie ein persönliches Zugriffstoken wie ein Kennwort, und halten Sie es geheim.

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

  2. Öffnen Sie auf der Startseite Ihr Profil. Navigieren zu Ihren Sicherheitsdetails.

Screenshot showing home page, opening your profile, and the Security button.

  1. Erstellen Sie ein persönliches Zugriffstoken.

Screenshot showing adding a personal access token.

  1. 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 showing information entry, including token name and lifespan.

  2. Wählen Sie die Bereiche für dieses Token aus, um sie für Ihre spezifischen Aufgaben zu autorisieren.

    Wenn Sie z. B. ein Token erstellen möchten, um einen Build- und Veröffentlichungs-Agent für die Authentifizierung zu aktivieren, beschränken Sie den Umfang Ihres Tokens auf Agentpools (lesen, verwalten).

  3. Wenn Sie fertig sind, müssen Sie das Token kopieren. Für Ihre Sicherheit wird sie nicht mehr angezeigt. Verwenden Sie dieses Token als Kennwort. Wählen Sie Schließen aus.

    Screenshot showing created token.

Verwenden Sie Ihre PAT überall, wo Ihre Benutzeranmeldeinformationen für die Authentifizierung in Azure DevOps erforderlich sind.

Wichtig

Für Organisationen, die von der Microsoft Entra-ID unterstützt werden, haben Sie 90 Tage Zeit, sich mit Ihrem neuen PAT anzumelden, andernfalls gilt sie als inaktiv. Weitere Informationen finden Sie unter Benutzeranmeldungshäufigkeit für bedingten Zugriff.

Benachrichtigungen

Benutzer erhalten zwei Benachrichtigungen während der Lebensdauer eines PAT - eine nach der Erstellung und die anderen sieben Tage vor dem Ablauf.

Nachdem Sie einen PAT erstellt haben, erhalten Sie eine Benachrichtigung ähnlich dem folgenden Beispiel. Diese Benachrichtigung bestätigt, dass Ihr PAT zu Ihrer Organisation hinzugefügt wurde.

Screenshot showing PAT created notification.

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

Screenshot showing PAT near expiration notification.

Unerwartete Benachrichtigung

Wenn Sie eine unerwartete PAT-Benachrichtigung erhalten, hat ein Administrator oder Tool möglicherweise einen PAT in Ihrem Auftrag erstellt. Siehe folgende Beispiele:

  • Wenn Sie eine Verbindung mit einem Azure DevOps Git-Repository über git.exe 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 einrichtet, wird ein Token mit einem Anzeigenamen wie "Service Hooks: : Azure-App Service: : Deploy web app" erstellt.
  • Wenn Sie oder ein Administrator Webladetests als Teil einer Pipeline einrichtet, wird ein Token mit einem Anzeigenamen wie "WebAppLoadTestCDIntToken" erstellt.
  • Wenn eine Microsoft Teams-Integrations-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 ist, empfehlen wir Ihnen , den PAT zu widerrufen. Ändern Sie dann Ihr Kennwort. Wenden Sie sich als Microsoft Entra-Benutzer an Ihren Administrator, um festzustellen, ob Ihre Organisation von einer unbekannten Quelle oder einem unbekannten Speicherort verwendet wurde. Siehe 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 stellt Sie dar, wenn Sie es verwenden, genau wie ein Kennwort.

Git

Git-Interaktionen erfordern einen Benutzernamen, der alles außer der leeren Zeichenfolge sein kann. Um eine 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 den Ursprung bereits mit dem Benutzernamen hinzugefügt haben, führen Sie für vorhandene Repositorys 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 einen 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 mit 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 einen $ am Anfang der Zeichenfolge hinzu, wie im folgenden Beispiel.

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 es ein guter Zeitpunkt, 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 die IIS-Standardauthentifizierung aktivieren, sind PATs ungültig. Weitere Informationen finden Sie unter Lokales Verwenden der IIS-Standardauthentifizierung.

Ändern eines PAT

Sie können einen PAT neu generieren oder erweitern und seinen Umfang ä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 showing sequence of buttons to select to modify a PAT.

  2. Wählen Sie unter "Sicherheit" die Option "Persönliche Zugriffstoken" aus. Wählen Sie das Token aus, das Sie ändern möchten, und bearbeiten Sie dann.

    Screenshot showing highlighted Edit button to modify PAT.

  3. Bearbeiten Sie den Tokennamen, den Tokenablauf oder den Bereich des Zugriffs, der dem Token zugeordnet ist, und wählen Sie dann "Speichern" aus.

    Screenshot showing modified PAT.

Widerrufen eines PAT

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

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

    Screenshot showing sequence of buttons to select, Team Services, Preview page, and revoke a 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 showing selection to revoke a single token or all tokens.

  3. Wählen Sie im Bestätigungsdialogfeld "Widerrufen " aus.

    Screenshot showing confirmation screen to revoke 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 der PAT innerhalb von 1 Stunde ungültig. Wenn Ihre Organisation mit der Microsoft Entra-ID verbunden ist, wird der PAT auch in der Microsoft Entra-ID ungültig, da sie zum Benutzer gehört. Es wird empfohlen, dass der Benutzer seinen PAT in ein anderes Benutzer- oder Dienstkonto dreht, um die Dienste weiter auszuführen.

F: Gibt es eine Möglichkeit, einen 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 mithilfe der REST-API und unserer FAQ.

F: Kann ich die grundlegende Authentifizierung mit allen Azure DevOps-REST-APIs verwenden?

A: Nein. Sie können die grundlegende Authentifizierung mit den meisten Azure DevOps-REST-APIs verwenden, Organisationen und Profile unterstützen jedoch nur OAuth. Weitere Informationen finden Sie unter Verwalten von PATs mithilfe der REST-API.

F: Was geschieht, wenn ich meinen PAT versehentlich in eine öffentliches Repository auf GitHub einchecke?

A: Azure DevOps sucht nach PATs, die in öffentliche Repositorys auf GitHub eingecheckt wurden. Wenn wir ein durchlecktes 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 für verlorene persönliche Zugriffstoken nicht deaktiviert haben, widerrufen wir sofort das geleeckte PAT. Wir ermutigen betroffene Benutzer, sofort abzumildern, indem wir das durchleckte Token widerrufen und durch ein neues Token ersetzen.

Weitere Informationen finden Sie unter "Automatisches Widerrufen von geleckten PATs".

F: Kann ich ein persönliches Zugriffstoken als ApiKey verwenden, um NuGet-Pakete mithilfe der Befehlszeile dotnet/nuget.exe 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 mithilfe von Azure Pipelines veröffentlichen möchten, verwenden Sie die NuGet-Authentifizierungsaufgabe, um sich mit Ihrem Feedbeispiel 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. Einmal alle 30 Tage reicht für viele, sie müssen sich aber je nach Microsoft Entra-Konfiguration möglicherweise häufiger anmelden. Wenn Ihr PAT nicht mehr funktioniert, versuchen Sie zuerst, 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.