Freigeben über


Persönliche Zugriffstoken verwenden

Azure DevOps Server | Azure DevOps Server 2022 - Azure DevOps Server 2019

Ein persönlicher Zugriffstoken (PAT) dient als alternatives Kennwort für die Authentifizierung bei 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 (MSA) 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. Wir empfehlen jedoch, wann immer möglich Microsoft Entra-Token statt PATs zu verwenden.

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
Berechtigungen Berechtigung zum Zugriff auf und zum Ändern Ihrer Benutzereinstellungen, in denen PATs verwaltet werden.
– Navigieren Sie zu Ihrem Profil, und wählen Sie Benutzereinstellungen>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 Ihnen zugewiesenen Berechtigungen. 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 Basis-Zugriff.
Aufgaben Verwenden Sie PATs nur bei Bedarf, und drehen Sie sie immer regelmäßig. Weitere Informationen zu bewährten Methoden bei der Verwendung von PATs finden Sie in unserem Abschnitt.

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: Auswahl der Option „Persönliche Zugriffstoken“.

  3. Wählen Sie + Neues Token aus.

    Screenshot: Auswahl der Option „Neues Token“.

  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.

    Ein Screenshot zeigt die Eingabe der grundlegenden Informationen zum Token.

  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: Ausgewählte Bereiche für ein PAT.

    Hinweis

    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, wie z. B. vso.governance, sind möglicherweise nicht in der Benutzeroberfläche verfügbar, wenn sie nicht für den allgemeinen öffentlichen Gebrauch bestimmt sind.

  6. Kopieren Sie danach das Token, und speichern Sie es an einem sicheren Speicherort. Zu Ihrer Sicherheit wird er nicht mehr angezeigt.

    Ein Screenshot zeigt, wie Sie das Token in Ihre Zwischenablage kopieren.

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

Wichtig

  • Behandeln Sie ein PAT mit der gleichen Vorsicht wie Ihr Kennwort und behandeln Sie es vertraulich. TEILEN SIE KEINE PATS.
  • Für Organisationen, die durch Microsoft Entra ID unterstützt werden, müssen Sie sich innerhalb von 90 Tagen mit Ihrem neuen PAT anmelden, da es sonst inaktiv wird. Weitere Informationen finden Sie unter Häufigkeit der Benutzeranmeldung 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.

Ein Screenshot zeigt die Benachrichtigung, dass ein PAT erstellt wurde.

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 Project-Sammlungsadministrator, um in einer Erlaubnisliste aufgenommen zu werden, die es Ihnen erlaubt, weiterhin PATs in dieser Organisation zu erstellen.

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 mit dem Namen „Git: https://dev.azure.com/{Your_Organization} on YourMachine” wird erstellt, wenn Sie sich mit einem Azure DevOps Git-Repo über git.exe verbinden.
  • Wenn Sie oder ein Administrator eine Azure App Service-Web-App-Bereitstellung einrichten, wird ein Token mit dem Namen „Service Hooks: Azure App Service: Deploy web app“ erstellt.
  • Ein Token mit dem Namen "WebAppLoadTestCDIntToken" wird erstellt, wenn Sie oder ein Administrator Weblasttests als Teil einer Pipeline einrichten.
  • Wenn eine Microsoft Teams-Integration mit Messaging-Erweiterung eingerichtet wird, wird ein Token mit dem Namen „Microsoft Teams Integration“ erstellt.

Warnung

Verwenden eines PAT

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

Wichtig

Sobald Ihr App-Code funktioniert, wechseln Sie zu Microsoft Entra OAuth, um Token im Auftrag der Benutzer Ihrer App zu erwerben oder verwenden Sie einen Dienstprinzipal oder eine verwaltete Identität, um Token als Anwendung abzurufen. Es wird nicht empfohlen, Apps oder Skripts mit PATs langfristig auszuführen. Microsoft Entra-Token können überall verwendet werden, 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, das Sie ändern möchten, und dann Bearbeiten.

    Ein Screenshot zeigt die hervorgehobene Schaltfläche Bearbeiten zum Ändern eines PAT.

  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.

    Ein Screenshot zeigt das geänderte PAT.

Ein PAT widerrufen

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

  • Widerrufen Sie einen PAT, wenn Sie vermuten, dass sie kompromittiert ist.
  • Widerrufen Sie einen PAT, wenn er nicht mehr benötigt wird.
  • Widerrufen Sie ein PAT, um Sicherheitsrichtlinien oder Compliance-Anforderungen durchzusetzen.
  1. Öffnen Sie über die Startseite Ihre Benutzereinstellungen , und wählen Sie dann Persönliche Zugriffstoken aus.

  2. Wählen Sie unter Sicherheit Persönliches Zugriffstoken. Wählen Sie das Token aus, für das Sie den Zugriff widerrufen möchten, und wählen Sie dann Widerrufen.

    Ein Screenshot zeigt die Auswahl für den Widerruf eines einzelnen Tokens oder aller Token.

  3. Wählen Sie Widerrufen im Bestätigungsdialog.

    Ein Screenshot zeigt die Bestätigungsseite für den Widerruf von PAT.

PAT Lifecycle Management-APIs

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

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

  • Microsoft Entra-Zugriffstoken sind erforderlich, um auf diese API zuzugreifen, da im Allgemeinen eine stärkere Authentifizierungsform empfohlen wird, wenn neue Token verwendet werden.
  • Nur Benutzer oder Apps, die einen "Im-Auftrag-von-Benutzer"-Ablauf 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 der empfohlene Bereich für diese APIS. Begrenzen Sie alle Apps, die sich zuvor auf user_impersonation verlassen haben, um diese APIs aufzurufen.

Änderungen am Format

Seit Juli 2024 haben wir das Format der PAT-Zeichenfolgen aktualisiert, um die geheime Erkennung in unseren durchleckten PAT-Erkennungstools 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 randomisierte Daten vorhanden sind, wodurch die Gesamtentropie verbessert wird, wodurch Token resistenter gegen Brute-Force-Angriffe sind.
  • 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

PATs erstellen

  • Geben Sie keine personenbezogenen Daten im PAT-Namen ein. Benennen Sie den PAT-Namen nicht um, um einige oder alle tatsächlichen PAT-Token einzuschließen.
  • 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, und 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, geben Sie erst Schreibberechtigungen an, wenn dies erforderlich ist.
  • Halten Sie PAT-Lebensdauer kurz (wöchentlich ist ideal, noch kürzer ist besser).

PATs verwalten

  • Teilen Sie Ihre PATs nicht!
  • Speichern Sie Ihre PATs in einer Sicheren Schlüsselverwaltungslösung, z. B. Azure KeyVault.
  • Drehen oder regenerieren Sie Ihre PATs regelmäßig über UI- oder PAT-Lifecycle-Verwaltungs-APIs.
  • Widerrufen sie PATs, wenn sie nicht mehr benötigt werden.
  • Rotieren Sie Ihre PATs und verwenden Sie das neue PAT-Format für eine bessere Erkennung von durchgesickerten Secrets und deren Widerruf durch unsere First-Party-Tools.

Für Administratoren

Häufig gestellte Fragen

F: Warum kann ich ein PAT, das auf eine einzelne Organisation beschränkt ist, nicht bearbeiten oder neu generieren?

A: Melden Sie sich bei der Organisation an, in deren Bereich Ihr PAT fällt. Sie können Ihre PATs anzeigen, wenn Sie bei jeder Organisation in derselben Microsoft Entra-ID angemeldet sind, indem Sie den Access-Bereichsfilter ändern, aber Sie können organisationsbezogene Token nur bearbeiten, wenn Sie bei der jeweiligen Organisation angemeldet sind.

F: Was geschieht mit einem PAT, wenn ein Benutzerkonto deaktiviert wird?

A: Wenn ein Benutzer aus Azure DevOps entfernt wird, wird das PAT innerhalb von 1 Stunde ungültig. Wenn Ihre Organisation mit Microsoft Entra ID verbunden ist, wird das PAT auch in Microsoft Entra ID ungültig, da es zu dem Benutzer gehört. Wir empfehlen, das PAT auf einen anderen Benutzer oder ein anderes Dienstkonto zu rotieren, damit die Dienste weiterhin ausgeführt werden können.

F: Kann ich PATs mit allen REST-APIs von Azure DevOps 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.

F: Was passiert, wenn ich mein PAT versehentlich in ein öffentliches Repository auf GitHub einchecke?

A: Azure DevOps scannt nach PATs, die in öffentliche Repositories auf GitHub eingecheckt wurden. 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.

F: Kann ich ein personenbezogenes Zugriffstoken als ApiKey verwenden, um NuGet-Pakete über die Kommandozeile dotnet/nuget.exe in einem Azure Artifacts-Feed zu veröffentlichen?

A: Nein. Azure Artifacts unterstützt nicht die Übergabe eines PAT als ApiKey. 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 die Aufgabe NuGet-Authentifizierung, um sich mit Ihrem Feed zu authentifizieren. Siehe Beispiel

F: Warum funktioniert mein PAT nicht mehr?

A: Die PAT-Authentifizierung erfordert eine regelmäßige Anmeldung bei Azure DevOps unter Verwendung des vollständigen Flows für die Authentifizierung. 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 zunächst, sich in Ihrer Organisation anzumelden und die vollständige Authentifizierung 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 desaktiviert 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 von user:PAT enthalten.

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

F: 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, indem Sie Microsoft Entra-Token verwenden, 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.

F: 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.

Die in der Benutzeroberfläche verfügbare "Regenerate"-Funktion führt tatsächlich einige Aktionen durch, die über DIE API repliziert werden können.

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

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

F: Ich sehe ein Popup "Administratorgenehmigung benötigen", wenn ich versuche, eine Microsoft Entra-App zum Aufrufen der PAT Lifecycle Management-APIs zu verwenden.

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

F: Kann ich einen Serviceprinzipal zum Erstellen oder Verwalten von PATs verwenden?

Nein, persönliche Zugriffstoken gehören zu einer Benutzeridentität. Microsoft Entra-Dienstprinzipale oder verwaltete Identitäten können kurzlebige Microsoft Entra-Token generieren, die an den meisten Stellen verwendet werden 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.