Freigeben über


Authentifizierungsmethoden für Azure DevOps

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

In diesem Artikel werden Authentifizierungsmethoden für Azure DevOps Integration beschrieben, und Sie können die beste Option für Ihr Szenario auswählen. Moderne Authentifizierungsansätze wie Microsoft Entra ID bieten erhöhte Sicherheit und den besten Ansatz für neue Anwendungen.

Verwenden Sie Microsoft Entra ID Authentifizierung für neue Anwendungen, die in Azure DevOps Services integriert sind. Verwenden Sie persönliche Zugriffstoken sparsam und nur, wenn Microsoft Entra ID nicht verfügbar ist.

Von Bedeutung

Erwägen Sie die Verwendung der sichereren Microsoft Entra Token gegenüber höherer Gefahr personalen Zugriffstoken. Weitere Informationen finden Sie unter Reduzieren der PAT-Verwendung. Überprüfen Sie die Authentifizierungsanleitungen , um den richtigen Authentifizierungsmechanismus für Ihre Anforderungen auszuwählen.

OAuth 2.0 und Microsoft Entra ID Authentifizierung sind nur für Azure DevOps Dienste verfügbar, nicht für Azure DevOps Server.

Verwenden Sie für lokale Szenarien .NET Clientbibliotheken, Windows authentication oder personale Zugriffstoken.

Tipp

Sie können KI verwenden, um diese Aufgabe zu unterstützen weiter unten in diesem Artikel, oder lesen Sie Enable AI-Unterstützung bei Azure DevOps MCP Server, um zu beginnen.

Authentifizierungsmethoden nach Szenario

Wählen Sie die entsprechende Authentifizierungsmethode basierend auf Dem Anwendungstyp und den Anforderungen aus.

Anwendungstyp BESCHREIBUNG Beispiel Empfohlene Methode Codebeispiele
Web- und Desktop-Apps Interaktive Anwendungen mit aktuellen Frameworks React-App, .NET Desktop-App Microsoft Entra OAuth mit dem Microsoft Authentication Library (MSAL) Verwaltete Clientkonsolen-App
Dienst-/Hintergrund-Apps Anwendungen, die ohne Benutzerinteraktion ausgeführt werden Azure Functions, Hintergrunddienste Dienstprinzipale und verwaltete Identitäten Dienstprinzipale
Ältere Client-Apps Vorhandene Anwendungen mit Clientbibliotheken Konsolen-Apps mit Azure DevOps .NET-Bibliotheken .NET Clientbibliotheken mit OAuth Clientbibliothekskonsolen-App
Headless/CLI-Apps Nichtinteraktive Befehlszeilentools Erstellen von Skripts, Automatisierungstools Geräteautorisierungs-Gewährungs-Flow Geräteprofil
Azure DevOps Erweiterungen In Azure DevOps ausgeführte Erweiterungen Benutzerdefinierte Dashboard-Widgets und Arbeitsaufgabenformulare Azure DevOps Weberweiterungs-SDK Hinzufügen eines Dashboard-Widgets
Azure DevOps Server Apps Lokale Azure DevOps Server-Integrationen Benutzerdefinierte Servererweiterungen .NET Clientbibliotheken oder Windows Auth Clientbibliothekskonsolen-App
Persönliche/Ad-hoc-Skripts Schnelle Skripts für die persönliche Nutzung PowerShell-Skripts, Curl-Befehle Persönliche Zugriffstoken Erste Schritte mit den REST-APIs

Vorschläge für erste Schritte

Die folgenden Abschnitte enthalten Empfehlungen für die ersten Schritte in verschiedenen Szenarien.

Neue Anwendungen

Bestehende Anwendungen

  • Planen Sie die Migration von persönlichen Zugriffstoken zur Microsoft Entra ID Authentifizierung.
  • Berücksichtigen Sie die Authentifizierungs-Migration-Zeitachse zur Verbesserung von Azure DevOps und zur Verringerung der Verwendung von persönlichen Zugriffstoken.
  • Überprüfen Sie Ihren aktuellen Authentifizierungsansatz anhand bewährter Sicherheitsmethoden.

Azure DevOps Server

  • Verwenden Sie .NET Clientbibliotheken nach Möglichkeit mit Windows Authentifizierung.
  • Verwenden Sie persönliche Zugriffstoken für Azure DevOps Server Szenarien, wenn sie akzeptabel sind.
  • Planen Sie zukünftige Azure DevOps Services-Migration, um die moderne Authentifizierung zu nutzen.

Antworten auf häufig gestellte Fragen

In den folgenden Abschnitten finden Sie Antworten auf häufig gestellte Fragen.

Sollte ich Microsoft Entra ID OAuth oder persönliche Zugriffstoken verwenden?

Verwenden Sie Microsoft Entra ID OAuth in den folgenden Szenarien:

  • Neue Anwendungen und Integrationen.
  • Produktionsworkloads, die eine robuste Sicherheit erfordern.
  • Anwendungen, die Unternehmensidentitätsintegration benötigen.
  • Langfristige Projekte mit Complianceanforderungen.

Verwenden Sie in den folgenden Szenarien nur persönliche Zugriffstoken:

  • Persönliche Skripts und Ad-hoc-Aufgaben.
  • Legacy-Anwendungen während der Migrationsplanung.
  • Azure DevOps Server Szenarien, in denen die moderne Authentifizierung nicht verfügbar ist.

Sollte ich Service Principals oder Benutzerdelegation für die Authentifizierung verwenden?

Verwenden Sie Dienstprinzipale oder verwaltete Identitäten in den folgenden Szenarien:

  • Erstellen Sie Anwendungen, die unabhängig ausgeführt werden (Hintergrunddienste, Automatisierung).
  • Erstellen Sie Apps, die keine Benutzerinteraktion erfordern.
  • Implementieren der Dienst-zu-Dienst-Kommunikation.
  • Erstellen Sie kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD)-Pipelines oder automatisierte Workflows.

Verwenden Sie die Benutzerdelegierung (OAuth mit Zustimmung des Benutzers) in den folgenden Szenarien:

  • Erstellen Sie Anwendungen, die für menschliche Benutzer fungieren.
  • Erstellen Sie interaktive Apps, in denen sich Benutzer mit ihren eigenen Anmeldeinformationen anmelden.
  • Implementieren Sie Features, die benutzerspezifische Berechtigungen erfordern.
  • Erstellen Sie Apps, die die individuellen Zugriffsrechte der Benutzer respektieren.

Wie kann ich mich bei Azure DevOps Services und Azure DevOps Server authentifizieren?

Erstellen Sie separate Authentifizierungspfade für jeden Dienst:

  • Azure DevOps Services: Verwenden Sie Microsoft Entra ID OAuth.
  • Azure DevOps Server: Verwenden Sie .NET Clientbibliotheken mit Windows Authentifizierungs- oder persönlichen Zugriffstoken.

Verwenden Sie die requestContext Methode, um den Diensttyp zu erkennen und die entsprechende Authentifizierungsmethode anzuwenden.

Warum kann mein Dienstkonto nicht auf Azure DevOps APIs zugreifen?

Nachfolgend finden Sie einige häufige Probleme, die sich auf den Zugriff auf das Dienstkonto auswirken können:

  • Dienstkonto nicht "materialisiert": Verwenden Sie die richtige Anmeldemethode. Dienstkonten benötigen interaktive Anmeldeberechtigungen oder ordnungsgemäße Microsoft Entra ID Registrierung.
  • Insufficient permissions. Stellen Sie sicher, dass das Dienstkonto über entsprechende Azure DevOps Berechtigungen verfügt.
  • Authentifizierungsmethode: Verwenden Sie Dienstprinzipale oder verwaltete Identitäten, anstatt zu versuchen, sich als Dienstkonto zu authentifizieren.

Wie kann ich von persönlichen Zugriffstoken zur modernen Authentifizierung migrieren?

Folgen Sie diesen Schritten:

  1. Identifizieren Sie die aktuelle Verwendung des persönlichen Zugriffstokens in Ihren Anwendungen.

  2. Wählen Sie eine alternative Authentifizierungsmethode aus:

    • Microsoft Entra ID OAuth für benutzerdelegierte Szenarien
    • Dienstprinzipale für Dienst-zu-Dienst-Szenarien
  3. Aktualisieren Sie den Authentifizierungscode mithilfe der Azure DevOps Migrationsauthentifizierungsbeispiele.

  4. Testen Sie die Änderungen gründlich, bevor Sie persönliche Zugriffstokenabhängigkeiten entfernen.

  5. Überwachen und Überprüfen der neuen Authentifizierungsmethode.

Implementierungsverfahren

Nachdem Sie die Authentifizierungsmethode für Ihr Szenario ausgewählt haben, beenden Sie die Implementierung:

Verwenden von KI zum Auswählen einer Authentifizierungsmethode

Wenn Sie über den Azure DevOps MCP Server mit Ihrem KI-Agent im Agentmodus verbunden sind, können Sie Anweisungen in natürlicher Sprache verwenden, um Authentifizierungsempfehlungen für Ihr Szenario zu erhalten.

Aufgabe Beispielaufforderung
Wählen Sie die Authentifizierung für einen Hintergrunddienst Which authentication method should I use for a background Azure Function that needs to access Azure DevOps APIs?
Vergleichen von Authentifizierungsoptionen Help me choose between service principals, managed identities, and personal access tokens for my Azure DevOps integration
Authentifizierung für eine Web-App I'm building a React web app that needs to access Azure DevOps on behalf of signed-in users — what authentication approach should I use?
Migrieren von PATs Help me plan a migration from personal access tokens to Microsoft Entra ID authentication for my Azure DevOps integrations
Authentifizierung für CI/CD What's the most secure way to authenticate Azure DevOps REST API calls from a GitHub Actions workflow?
Fehlerbehebung bei Authentifizierungsfehlern I'm getting 401 errors when calling the Azure DevOps REST API with my token — help me diagnose the issue

Hinweis

Der Agentmodus und der MCP-Server verwenden natürliche Sprache, sodass Sie diese Eingabeaufforderungen anpassen oder Nachverfolgungsfragen stellen können, um die Ergebnisse zu verfeinern.