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
Dieser Artikel beschreibt Authentifizierungsmethoden für die Azure DevOps-Integration und hilft Ihnen bei der Auswahl der besten Option für Ihr Szenario. Moderne Authentifizierungsansätze wie Microsoft Entra ID bieten erweiterte Sicherheit und den besten Ansatz für neue Anwendungen.
Von Bedeutung
Wir empfehlen die Microsoft Entra ID-Authentifizierung für neue Anwendungen, die in Azure DevOps Services integriert sind. Verwenden Sie persönliche Zugriffstoken sparsam, und verwenden Sie sie nur, wenn Die Microsoft Entra-ID nicht verfügbar ist.
OAuth 2.0- und Microsoft Entra-ID-Authentifizierung sind nur für Azure DevOps Services und nicht für Azure DevOps Server verfügbar.
Verwenden Sie für lokale Szenarien .NET-Clientbibliotheken, Windows-Authentifizierung oder persönliche Zugriffstoken.
Authentifizierungsmethoden nach Szenario
Wählen Sie die entsprechende Authentifizierungsmethode basierend auf Dem Anwendungstyp und den Anforderungen aus.
| Anwendungstyp | BESCHREIBUNG | Beispiel | Empfohlene Methode | Codebeispiele |
|---|---|---|---|---|
| Web-/Desktop-Apps | Interaktive Anwendungen mit aktuellen Frameworks | React-App, .NET-Desktop-App | Microsoft Entra OAuth mit der Microsoft Authentication Library (MSAL) | Verwaltete Clientkonsolen-App |
| Dienst-/Hintergrund-Apps | Anwendungen, die ohne Benutzerinteraktion ausgeführt werden | Azure-Funktionen, 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 | Erweiterungen, die in Azure DevOps ausgeführt werden | 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 , um die beste Sicherheit und zukünftige Kompatibilität zu erzielen.
- 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 Zeitachse für die Authentifizierungsmigration für Azure DevOps-Verbesserungen und verringern Sie die 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 die 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
- Altsystemanwendungen während der Migrationsplanung
- Azure DevOps Server-Szenarien, in denen 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 authentifiziere ich mich mit Azure DevOps Services und Azure DevOps Server?
Die bewährte Methode besteht darin, separate Authentifizierungspfade zu erstellen:
- Azure DevOps Services: Microsoft Entra ID OAuth verwenden.
- Azure DevOps Server: Verwenden Sie .NET-Clientbibliotheken mit Windows-Authentifizierung 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 die ordnungsgemäße Registrierung der Microsoft Entra-ID.
- Unzureichende Berechtigungen: 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.
Implementierungsverfahren
Nachdem Sie die Authentifizierungsmethode für Ihr Szenario ausgewählt haben, beenden Sie die Implementierung:
- Neue Anwendungen: Erstellen von Azure DevOps-Integrationen mit Microsoft Entra OAuth-Apps
- Dienstanwendungen: Verwenden von Dienstprinzipalen und verwalteten Identitäten in Azure DevOps
- Persönliche Skripts: Verwenden von persönlichen Zugriffstoken