Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 erweiterte Sicherheit und sind der beste 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
- Erstellen Sie Azure DevOps-Integrationen mit Microsoft Entra OAuth-Apps für optimale Sicherheit und zukünftige Kompatibilität.
- Verwenden Sie Dienstprinzipale oder verwaltete Identitäten für Dienst-zu-Dienst-Szenarien.
- Vermeiden Sie persönliche Zugriffstoken in Produktionsanwendungen.
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.
Häufig gestellte Fragen (FAQ)
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 persönliche Zugriffstoken nur in den folgenden Szenarien:
- 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:
- 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:
Identifizieren Sie die aktuelle Verwendung des persönlichen Zugriffstokens in Ihren Anwendungen.
Wählen Sie eine alternative Authentifizierungsmethode aus:
- Microsoft Entra ID OAuth für benutzerdelegierte Szenarien
- Dienstprinzipale für Dienst-zu-Dienst-Szenarien
Aktualisieren Sie den Authentifizierungscode mithilfe der Azure DevOps Migrationsauthentifizierungsbeispiele.
Testen Sie die Änderungen gründlich, bevor Sie persönliche Zugriffstokenabhängigkeiten entfernen.
Überwachen und Überprüfen der neuen Authentifizierungsmethode.
Warum sollte ich Ansprüche von Authentifizierungstoken nicht decodieren oder lesen?
Authentifizierungstoken sind ausschließlich vorhanden, um zu beweisen, wer der Aufrufer ist und was er ausführen darf. Sie sind keine stabile Datenschnittstelle oder ein Schema, von dem Sie abhängig sein können.
Tokenansprüche werden niemals öffentlich dokumentiert, und Azure DevOps behält sich das Recht vor, sie jederzeit ohne Vorheriges zu ändern, umzubenennen, zu entfernen oder zu verschlüsseln. Ab Sommer 2025 verschlüsselt Azure DevOps Authentifizierungstoken weiter, was bedeutet, dass Clients keine Tokennutzlasten lesen können. Jede Anwendung, die Token decodiert, um Ansprüche zu extrahieren, scheitert.
Anstatt Tokenansprüche zu lesen, befolgen Sie die folgenden Praktiken:
- Behandeln Sie Token als undurchsichtig – übergeben Sie sie in Autorisierungsheadern, decodieren oder prüfen Sie sie jedoch nicht.
- Verwenden Sie unterstützte REST-APIs – Abrufen von Benutzer- oder Organisationsdaten aus Azure DevOps-REST-APIs, die stabile Verträge und Dokumentationen bereitstellen.
- Gehen Sie davon aus, dass sich jeder Anspruch ändern kann – wenn Sie tokeninhalte zum Lesen von Werten analysieren, fügen Sie diese Logik stattdessen in einen API-Aufruf ein.
Diese Änderungen wirken sich nicht auf Anwendungen aus, die Token bereits als undurchsichtig behandeln.
Implementierungsverfahren
Nachdem Sie die Authentifizierungsmethode für Ihr Szenario ausgewählt haben, führen Sie die Implementierungsschritte aus:
- Neue Anwendungen: Erstellen Sie Azure DevOps-Integrationen mit Microsoft Entra OAuth-Apps.
- Dienstanwendungen: Verwenden Sie Dienstprinzipale und verwaltete Identitäten in Azure DevOps.
- Persönliche Skripts: Verwenden sie persönliche Zugriffstoken.
Verwenden von KI zum Auswählen einer Authentifizierungsmethode
Wenn Sie den Azure DevOps MCP-Server mit Ihrem KI-Agent im Agentmodus verbinden, 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.