Freigeben über


Persönliche Zugriffstoken verwenden

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Ein persönliches Zugriffstoken (PAT) dient als alternatives Kennwort für die Authentifizierung in Azure DevOps. Dieses PAT identifiziert Sie und bestimmt Ihre Zugriffsmöglichkeiten und den Bereich, in dem Sie Zugang haben. Behandeln Sie PATs mit der gleichen Vorsicht wie Kennwörter.

Wenn Sie Microsoft-Tools verwenden, wird Ihr Microsoft-Konto oder Ihre Microsoft Entra-ID erkannt und unterstützt. Wenn Sie Tools verwenden, die Microsoft Entra-Konten nicht unterstützen oder ihre primären Anmeldeinformationen lieber nicht freigeben möchten, sollten Sie PATs als alternative Authentifizierungsmethode verwenden. Es wird empfohlen, microsoft Entra-Token anstelle von PATs zu verwenden, wenn möglich.

Wichtig

Wir empfehlen die sichereren Microsoft Entra-Token gegenüber token mit höherem Risiko für persönliche Zugriffstoken. Erfahren Sie mehr über unsere Bemühungen zur Reduzierung der PAT-Nutzung. Überprüfen Sie unsere Authentifizierungsleitfaden , um den richtigen Authentifizierungsmechanismus für Ihre Anforderungen auszuwählen.

Voraussetzungen

Kategorie Anforderungen
Erlaubnisse Berechtigung zum Zugriff auf und zum Ändern Ihrer Benutzereinstellungen, in denen PATs verwaltet werden.
– Wechseln Sie zu Ihrem Profil, und wählen Sie Benutzereinstellungen>für persönliche Zugriffstoken aus. Wenn Sie Ihre PATs hier sehen und verwalten können, verfügen Sie über die erforderlichen Berechtigungen.
- Navigieren Sie zu Ihrem Projekt, und wählen Sie Projekteinstellungen>Berechtigungen aus. Suchen Sie Ihr Benutzerkonto in der Liste, und überprüfen Sie die Berechtigungen, die Ihnen zugewiesen sind. Suchen Sie nach Berechtigungen, die sich auf die Verwaltung von Token oder Benutzer-Einstellungen beziehen.
– Wenn Ihre Organisation Richtlinien enthält, muss ihnen ein Administrator möglicherweise bestimmte Berechtigungen erteilen oder Sie einer Zulassungsliste hinzufügen, um PATs zu erstellen und zu verwalten.
– PATs sind mit dem Benutzerkonto verbunden, das das Token geprägt hat. Je nachdem, welche Aufgaben der PAT ausführt, benötigen Sie selbst möglicherweise mehr Berechtigungen.
Zugriffsebenen Mindestens einfacher Zugriff.
Aufgaben Verwenden Sie PATs nur bei Bedarf, und drehen Sie sie immer regelmäßig. Weitere Informationen zur Verwendung von PATs finden Sie im Abschnitt "Bewährte Methoden".

Einen PAT erstellen

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

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

    Screenshot, der zeigt, wie Sie persönliche Zugriffstoken auswählen.

  3. Wählen Sie + Neues Token aus.

    Screenshot, der zeigt, wie

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

    Screenshot, der den Eintrag grundlegender Tokeninformationen zeigt.

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

    Um beispielsweise ein Token für einen Build and Release Agent zu erstellen, um sich bei Azure DevOps zu authentifizieren, setzen Sie den Bereich des Tokens auf Agent-Pools (Lesen & Verwalten). Um Überwachungsereignisse zu lesen und Streams zu verwalten oder zu löschen, wählen Sie Überwachungsprotokoll lesen, und wählen Sie dann Erstellen.

    Screenshot, der ausgewählte Bereiche für einen PAT zeigt.

    Ihr Administrator kann Sie möglicherweise daran hindern, PATs mit vollständigem Umfang zu erstellen, oder Sie nur auf PATs mit Paketumfang beschränken. Wenden Sie sich an Ihren Administrator, um auf die Zulassungsliste zuzugreifen, wenn Sie Zugriff auf weitere Bereiche benötigen. Einige Bereiche, z. B., vso.governancesind möglicherweise nicht in der Benutzeroberfläche (UI) verfügbar, wenn sie nicht für eine weit verbreitete öffentliche Verwendung geeignet sind.

  6. Wenn Sie fertig sind, kopieren Sie das Token, und speichern Sie es an einem sicheren Speicherort. Zu Ihrer Sicherheit wird er nicht mehr angezeigt.

    Screenshot, der zeigt, wie das Token in die Zwischenablage kopiert wird.

Sie können Ihre PAT überall verwenden, wo Ihre Benutzeranmeldeinformationen für die Authentifizierung in Azure DevOps erforderlich sind. Merken:

  • Behandeln Sie einen PAT mit der gleichen Vorsicht wie Ihr Kennwort, und bewahren Sie es vertraulich auf. Teilen Sie PATS nicht.
  • Für Organisationen, die von der Microsoft Entra-ID unterstützt werden, müssen Sie sich innerhalb von 90 Tagen mit Ihrem neuen PAT anmelden oder inaktiv werden. Weitere Informationen finden Sie unter Benutzeranmeldungshäufigkeit für bedingten Zugriff.

Benachrichtigungen

Während der Lebensdauer eines PAT erhalten die Benutzer zwei Benachrichtigungen: eine, wenn der PAT erstellt wird und eine weitere sieben Tage vor seinem Ablauf.

Nachdem Sie einen PAT erstellt haben, erhalten Sie möglicherweise eine Benachrichtigung ähnlich dem folgenden Beispiel. Diese Benachrichtigung dient als Bestätigung, dass Ihr PAT erfolgreich zu Ihrer Organisation hinzugefügt wurde.

Screenshot der erstellten PAT-Benachrichtigung.

Eine Ablaufbenachrichtigungs-E-Mail wird drei Tage vor Ablauf gesendet. Wenn Ihr Administrator Ihre Fähigkeit zum Erstellen von PATs in der Organisation entfernt hat, gibt die E-Mail an, dass es ihnen nicht mehr möglich ist, PATs neu zu generieren. Wenden Sie sich an Ihren Projektsammlungsadministrator , um in eine Zulassungsliste für fortgesetzte PAT-Erstellungsberechtigungen in dieser Organisation aufzunehmen.

Weitere Informationen finden Sie unter Konfigurieren eines SMTP-Servers und Anpassen der E-Mail für Warnungen und Feedback-Anfragen.

Unerwartete Benachrichtigung

Wenn Sie eine unerwartete PAT-Benachrichtigung erhalten, bedeutet dies möglicherweise, dass ein Administrator oder Tool ein PAT für Sie erstellt hat. Im Folgenden finden Sie einige Beispiele:

  • Ein token namens git: https://dev.azure.com/{Your_Organization} on YourMachine is created when you connect to an Azure DevOps Git repo via git.exe.
  • Ein Token mit dem Namen Service Hooks: Azure App Service: Deploy web app wird erstellt, wenn Sie oder ein Administrator eine Azure App Service-Web-App-Bereitstellung einrichten.
  • Ein token namens WebAppLoadTestCDIntToken is created when web load testing is set up as part of a pipeline by you or an administrator.
  • Ein Token mit dem Namen Microsoft Teams Integration wird erstellt, wenn eine Microsoft Teams-Integrations-Messaging-Erweiterung eingerichtet ist.

Wenn Sie denken, dass die Situation ernst ist:

Verwenden eines PAT

Ihr PAT dient als Ihre digitale Identität, ähnlich wie ein Kennwort. Sie können PATs als schnelle Möglichkeit verwenden, einmalige Anforderungen auszuführen oder eine Anwendung lokal zu prototypieren. Verwenden Sie einen PAT in Ihrem Code, um REST-API-Anforderungen zu authentifizieren und Workflows zu automatisieren, indem Sie den PAT in den Autorisierungsheader Ihrer Anforderung einschließen.

Nachdem Ihr App-Code funktioniert, wechseln Sie zu Microsoft Entra OAuth, um Token für die Benutzer Ihrer App oder einen Dienstprinzipal oder eine verwaltete Identität zu erwerben, um Token als Anwendung abzurufen. Es wird nicht empfohlen, Apps oder Skripts mit PATs langfristig auszuführen. Sie können Microsoft Entra-Token überall verwenden, wo ein PAT verwendet wird.

Erwägen Sie, ein Microsoft Entra-Token über die Azure CLI für Ad-hoc-Anforderungen zu erwerben.

Um den PAT über einen HTTP-Header bereitzustellen, müssen Sie ihn zuerst in eine Base64 Zeichenfolge konvertieren. Sie kann dann als HTTP-Header im folgenden Format bereitgestellt werden:


Authorization: Basic BASE64_USERNAME_PAT_STRING

Ändern eines PAT

Führen Sie die folgenden Schritte aus, um:

  • Generieren Sie ein PAT neu, um ein neues Token zu erstellen, das das vorherige ungültig macht.
  • Verlängern Sie ein PAT, um seine Gültigkeitsdauer zu erhöhen.
  • Ändern Sie den Bereich eines PATs, um seine Berechtigungen zu ändern.
  1. Öffnen Sie über die Startseite Ihre Benutzereinstellungen , und wählen Sie dann Persönliche Zugriffstoken aus.

  2. Wählen Sie das Token aus, das Sie ändern möchten, und wählen Sie dann "Bearbeiten" aus.

    Screenshot der hervorgehobenen Schaltfläche

  3. Bearbeiten Sie den Namen des Tokens, den Ablauf des Tokens oder den Bereich, der mit dem Token verknüpft ist, und wählen Sie dann Speichern.

    Screenshot eines geänderten PAT.

Ein PAT widerrufen

Sie können ein PAT jederzeit aus diesen und anderen Gründen widerrufen:

  • Sicherheitsverletzung: Widerrufen Sie einen PAT sofort, wenn Sie vermuten, dass er kompromittiert, durchleckt oder in Protokollen oder öffentlichen Repositorys verfügbar gemacht wurde.
  • Nicht mehr erforderlich: Widerrufen Sie einen PAT, wenn das Projekt, der Dienst oder die Integration, für die es erstellt wurde, abgeschlossen oder nicht mehr unterstützt wird.
  • Richtlinieneinhaltung: Widerrufen Sie ein PAT, um Sicherheitsrichtlinien, Compliance-Anforderungen oder organisatorische Token-Rotationspläne durchzusetzen.
  • Benutzeränderungen: Widerrufen Sie einen PAT, wenn ein Teammitglied die Organisation verlässt oder Rollen ändert und keinen Zugriff mehr benötigt.
  • Bereichsreduzierung: Widerrufen und erneutes Erstellen eines PAT mit eingeschränkten Berechtigungen, wenn Sie seine Zugriffsfunktionen einschränken müssen.
  • Regelmäßige Wartung: Widerrufen Sie einen PAT im Rahmen der routinen Sicherheitshygiene und der Tokenlebenszyklusverwaltung.

Führen Sie die folgenden Schritte aus, um einen PAT zu widerrufen:

  1. Öffnen Sie auf Ihrer Startseite Benutzereinstellungen , und wählen Sie persönliche Zugriffstoken aus.

  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.

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

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

    Screenshot des Dialogfelds

PAT Lifecycle Management-APIs

Die PAT Lifecycle Management-APIs können nützlich sein, wenn große Mengen von Token über die Benutzeroberfläche beibehalten werden können. Die programmgesteuerte Verwaltung der PAT-Drehung eröffnet auch die Möglichkeit, PATs regelmäßig zu drehen und ihre Standardlebensdauer zu verkürzen. Sie können die Python-Beispiel-App mit Ihrem Microsoft Entra-Mandanten und Ihrer Azure DevOps-Organisation konfigurieren.

Einige Punkte, die Sie zu diesen APIs beachten müssen:

  • Microsoft Entra-Zugriffstoken sind erforderlich, um auf diese API zuzugreifen. Wir empfehlen eine stärkere Form der Authentifizierung, wenn Sie neue Token verwenden.
  • Nur Benutzer oder Apps, die einen "Im-Auftrag-von-Benutzer"-Fluss verwenden, können PATs generieren. Apps, die "On-behalf-of-application"-Flüsse oder Authentifizierungsflüsse verwenden, die keine Microsoft Entra-Zugriffstoken ausgeben, sind für die Verwendung mit dieser API nicht gültig. Daher können Dienstprinzipale oder verwaltete Identitäten keine PATs erstellen oder verwalten.
  • Zuvor unterstützten die PAT Lifecycle Management-APIs nur den user_impersonation Bereich, aber jetzt sind die vso.pats verfügbar und sind der empfohlene Bereich, der mit diesen APIs verwendet werden soll. Begrenzen Sie alle Apps, die sich zuvor auf user_impersonation verlassen haben, um diese APIs aufzurufen.

Änderungen am Format

Ab Juli 2024 haben wir das Format der Zeichenfolgen von PATs aktualisiert, um die Erkennung von Secrets in unseren Leaked PAT Detection Tools und Partnerangeboten zu verbessern. Dieses neue PAT-Format enthält mehr identifizierbare Bits, um die falsch positive Erkennungsrate in diesen Erkennungstools zu verbessern und erkannte Lecks schneller zu mindern.

  • Neue Token sind jetzt 84 Zeichen lang, wobei 52 Zeichen zufällige Daten sind, wodurch die Gesamtentropie verbessert wird. Token sind jetzt resistenter gegen Brute-Force-Angriffe.
  • Von unserem Dienst ausgestellte Token enthalten eine feste AZDO Signatur an den Positionen 76-80.

Wenn Sie einen pat verwenden, der vor diesen Daten ausgestellt wurde, regenerieren Sie Ihr PAT erneut. Wenn Sie in PATs integriert sind und die PAT-Überprüfung integriert ist, aktualisieren Sie Ihren Validierungscode so, dass sowohl neue als auch vorhandene Tokenlängen berücksichtigt werden.

Warnung

Beide Formate bleiben für die vorhersehbare Zukunft gültig. Da die Einführung des neuen Formats zunimmt, könnten wir ältere 52-stellige PATs aus dem Verkehr ziehen.

Bewährte Verfahren für die Verwendung von PATs

Ziehen Sie Alternativen in Betracht

Erstellen von PATs

  • Geben Sie keine personenbezogenen Daten im PAT-Namen ein. Benennen Sie den PAT-Namen nicht so um, dass er den eigentlichen PAT-Token ganz oder teilweise enthält.
  • Vermeiden Sie die Erstellung globaler PATs, es sei denn, dies ist in allen Organisationen erforderlich.
  • Verwenden Sie ein anderes Token pro Fluss oder Benutzerfall.
  • Wählen Sie nur die minimalen Bereiche aus, die für jeden PAT erforderlich sind. Gewähren Sie den geringsten Berechtigungen, die für Ihre bestimmte Aufgabe erforderlich sind. Erstellen Sie separate PATs mit eingeschränkten Bereichen für verschiedene Workflows, anstatt ein einzelnes, breit angelegtes Token zu verwenden. Wenn Ihr PAT schreibgeschützte Berechtigungen benötigt, erteilen Sie ihm erst bei Bedarf Schreibberechtigungen.
  • Halten Sie PAT-Lebensdauer kurz. (Wöchentlich ist ideal und noch kürzer ist besser.)

Verwalten von PATs

  • Teilen Sie Ihre PATs nicht!
  • Speichern Sie Ihre PATs in einer Sicheren Schlüsselverwaltungslösung, z. B. Azure Key Vault.
  • Drehen oder regenerieren Sie Ihre PATs regelmäßig über die Benutzeroberfläche oder mithilfe von PAT Lifecycle Management-APIs.
  • Widerrufen sie PATs, wenn sie nicht mehr benötigt werden.
  • Drehen Sie Ihre PATs, um das neue PAT-Format zu verwenden, um die Erkennung und Sperrung durch unsere Erstanbietertools zu verbessern.

Für Administratoren

Häufig gestellte Fragen

Q. Warum kann ich einen PAT-Bereich nicht bearbeiten oder neu erstellen, der auf eine einzelne Organisation ausgerichtet ist?

A. Melden Sie sich bei der Organisation an, in der Ihr PAT-Bereich liegt. Sie können Ihre PATs anzeigen, wenn Sie bei einer beliebigen Organisation in derselben Microsoft Entra-ID angemeldet sind, indem Sie den Access-Bereichsfilter ändern. Sie können nur token mit Organisationsbereich bearbeiten, wenn Sie bei der jeweiligen Organisation angemeldet sind.

Q. Was geschieht mit einem PAT, wenn ein Benutzerkonto deaktiviert ist?

A. Wenn ein Benutzer aus Azure DevOps entfernt wird, wird der PAT innerhalb einer 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, den PAT-Dienst in ein anderes Benutzer- oder Dienstkonto zu drehen, um die Dienste weiter auszuführen.

Q. Kann ich PATs mit allen Azure DevOps REST-APIs verwenden?

A. Nein. Sie können PATs mit den meisten Azure DevOps-REST-APIs verwenden, Organisationen und Profile und die PAT Management Lifecycle-APIs unterstützen jedoch nur Microsoft Entra-Token.

Q. Was geschieht, wenn ich versehentlich meinen PAT in ein öffentliches Repository auf GitHub einchecke?

A. Azure DevOps sucht nach PATs, die in öffentliche Repositorys auf GitHub eingecheckt sind. Wenn wir ein geleaktes Token finden, senden wir sofort eine detaillierte E-Mail-Benachrichtigung an den Besitzer des Tokens und protokollieren ein Ereignis im Überwachungsprotokoll Ihrer Azure DevOps Organisation. Wir empfehlen den betroffenen Benutzern, das Problem zu beheben, indem sie das geleakte Token widerrufen und es durch ein neues Token ersetzen.

Sofern Sie nicht die Richtlinie Automatischer Widerruf von geleakten personenbezogenen Zugriffstoken deaktiviert haben, widerrufen wir das geleakte PAT sofort. Weitere Informationen finden Sie unter Geleakte PATs automatisch widerrufen.

Q. Kann ich ein persönliches Zugriffstoken als API-Schlüssel verwenden, um NuGet-Pakete mithilfe der Befehlszeile dotnet/nuget.exe in einem Azure Artifacts-Feed zu veröffentlichen?

A. Nein. Azure Artifacts unterstützt das Übergeben eines PAT als API-Schlüssel nicht. Wenn Sie eine lokale Entwicklungsumgebung verwenden, empfehlen wir, den Azure Artifacts-Anmeldeinformationsanbieter für die Authentifizierung bei Azure Artifacts zu installieren. Weitere Informationen finden Sie in den folgenden Beispielen: dotnet und NuGet.exe. Wenn Sie Ihre Pakete mithilfe von Azure Pipelines veröffentlichen möchten, verwenden Sie die NuGet-Authentifizierungsaufgabe , um sich bei Ihrem Feed zu authentifizieren. Weitere Informationen finden Sie im Beispiel in "NuGet-Pakete veröffentlichen" mit Azure Pipelines (YAML/Classic).For more information, see the example in Publish NuGet packages with Azure Pipelines (YAML/Classic).

Q. 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. Eine einmalige Anmeldung alle 30 Tage ist für viele Benutzer ausreichend, aber je nach Ihrer Microsoft Entra-Konfiguration müssen Sie sich möglicherweise häufiger anmelden. Wenn Ihr PAT nicht mehr funktioniert, versuchen Sie zuerst, sich bei Ihrer Organisation anzumelden und die vollständige Authentifizierungsaufforderung abzuschließen. Wenn Ihr PAT immer noch nicht funktioniert, überprüfen Sie, ob es abgelaufen ist.

Die Aktivierung der IIS Basic Authentication macht die Verwendung von PATs für Azure DevOps-Server ungültig. Es wird empfohlen, die IIS-Standardauthentifizierung immer deaktiviert zu lassen.

Warnung

Wenn Sie Git mit IIS Basic Authentication verwenden, funktioniert Git nicht, da PATs für die Benutzerauthentifizierung erforderlich sind. Sie können git-Anforderungen einen zusätzlichen Header hinzufügen, um ihn mit DER IIS-Standardauthentifizierung zu verwenden. Diese Aktion wird jedoch nicht empfohlen. Der zusätzliche Header muss für alle Azure DevOps Server-Installationen verwendet werden, da Windows Auth auch die Verwendung von PATs verhindert. Der zusätzliche Header muss auch eine Base64-Codierung enthalten.user:PAT

git -c http.extraheader='Authorization: Basic [base 64 encoding of "user:password"]' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName

Q. Wie erstelle ich Zugriffstoken, die nicht an eine Person gebunden sind?

A. Alle PATs sind der Benutzeridentität zugeordnet, die sie erstellt hat. Anwendungen können keine PATs erstellen.

In Azure DevOps können Sie Zugriffstoken generieren, die nicht mit einem bestimmten Benutzer verknüpft sind. Verwenden Sie Microsoft Entra-Token, die von einem Anwendungsdienstprinzipal oder einer verwalteten Identität ausgestellt wurden. Verwenden Sie für Pipelines Dienstverbindungen , um automatisierte Aufgaben sicher zu authentifizieren und zu autorisieren, ohne sich auf benutzerspezifische Anmeldeinformationen zu verlassen.

Q. Wie kann ich PATs über die API neu generieren/drehen? Ich habe diese Option in der Benutzeroberfläche gesehen, aber ich sehe keine ähnliche Methode in der API.

A. Die in der Benutzeroberfläche verfügbare Regenerate-Funktionalität führt tatsächlich einige Aktionen durch, die Sie über eine API replizieren können.

Führen Sie die folgenden Schritte aus, um Ihren PAT zu drehen:

  1. Siehe PAT-Metadaten mit einem GET-Aufruf .
  2. Erstellen Sie einen neuen PAT mit der alten PAT-ID mithilfe eines POST-Aufrufs .
  3. Widerrufen Sie den alten PAT mithilfe eines DELETE-Aufrufs .

Q. Wie lange bleiben abgelaufene, widerrufene oder inaktive PATs in der Azure DevOps-Tokenliste sichtbar?

A. Sie können keine abgelaufenen oder widerrufenen PATs mehr verwenden oder neu generieren. Diese inaktiven Token bleiben mehrere Monate nach Ablauf oder Widerruf sichtbar, bevor sie automatisch aus der Anzeige entfernt werden.

Q. Warum wird eine Meldung "Administratorgenehmigung benötigen" angezeigt, wenn ich versuche, eine Microsoft Entra-App zum Aufrufen der PAT Lifecycle Management-APIs zu verwenden?

A. Die Sicherheitsrichtlinien Ihres Mandanten erfordern die Administratorzustimmung, bevor Anwendungen auf Organisationsressourcen in der Organisation zugreifen können. Wenden Sie sich an Ihren Mandantenadministrator.

Q. Kann ich einen Dienstprinzipal zum Erstellen oder Verwalten von PATs verwenden?

A. Nein. PATs gehören zu einer Benutzeridentität. Microsoft Entra-Dienstprinzipale oder verwaltete Identitäten können kurzlebige Microsoft Entra-Token generieren, die Sie an den meisten Stellen verwenden können, an denen ein PAT akzeptiert wird. Erfahren Sie mehr über unsere Bemühungen, die PAT-Nutzung in Azure DevOps zu reduzieren und paTs durch Microsoft Entra-Token zu ersetzen.