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 | Azure DevOps Server 2020
Azure DevOps verwendet eine Kombination aus Sicherheitskonzepten, um sicherzustellen, dass nur autorisierte Benutzer auf ihre Features, Funktionen und Daten zugreifen können. Der Zugriff wird durch zwei Schlüsselprozesse bestimmt: Authentifizierung, die die Anmeldeinformationen eines Benutzers überprüft, und autorisierung, die Berechtigungen basierend auf Kontoberechtigungen gewährt. Zusammen steuern diese Prozesse, was jeder Benutzer innerhalb von Azure DevOps tun kann.
Dieser Artikel erweitert " Erste Schritte mit Berechtigungen", "Zugriff" und "Sicherheitsgruppen " und hilft Administratoren dabei, die verschiedenen Kontotypen, Authentifizierungs- und Autorisierungsmethoden sowie Sicherheitsrichtlinien zu verstehen, die zum Schutz von Azure DevOps-Umgebungen verfügbar sind.
Kontotypen
- Benutzer
- Organisationsbesitzer
- Dienstkonten
- Dienstprinzipale oder verwaltete Identitäten
- Auftragsagenten
Authentifizierung
- Benutzeranmeldeinformationen
- Windows-Authentifizierung
- Zweistufige Authentifizierung (2FA)
- SSH-Schlüsselauthentifizierung
- Microsoft Entra-Token
- Persönliches Zugriffstoken
- Oauth-Konfiguration
- Active Directory-Authentifizierungsbibliothek
Autorisierung
- Mitgliedschaft in einer Sicherheitsgruppe
- Rollenbasierte Zugriffssteuerung
- Zugriffsebenen
- Featureflags
- Namespaces für Sicherheit & Berechtigungen
Richtlinien
- URL zur Datenschutzrichtlinie
- Anwendungsverbindungs- und Sicherheitsrichtlinien
- Richtlinien für Benutzer
- Git-Repository- und Branchrichtlinien
Kontotypen
- Benutzer
- Dienstkonten
- Dienstprinzipale oder verwaltete Identitäten
- Auftragsagenten
Authentifizierung
- Benutzeranmeldeinformationen
- Windows-Authentifizierung
- Zweistufige Authentifizierung (2FA)
- SSH-Schlüsselauthentifizierung
- Persönliche Zugriffstoken
- Oauth-Konfiguration
- Active Directory-Authentifizierungsbibliothek
Autorisierung
- Mitgliedschaft in einer Sicherheitsgruppe
- Rollenbasierte Berechtigungen
- Zugriffsebenen
- Featureflags
- Namespaces für Sicherheit & Berechtigungen
Richtlinien
- Git-Repository- und Branchrichtlinien
Wichtig
Azure DevOps unterstützt keine alternativen Verfahren zur Authentifizierung von Anmeldeinformationen. Wenn Sie dennoch alternative Anmeldeverfahren verwenden, empfehlen wir Ihnen dringend, zu einer Authentifizierungsmethode zu wechseln, die mehr Sicherheit bietet.
Beide Azure DevOps unterstützen die Softwareentwicklung von der Planung bis hin zur Bereitstellung. Jede Plattform verwendet die Microsoft Azure-Plattform als Dienstinfrastruktur und -dienste, einschließlich Azure SQL-Datenbanken, um einen zuverlässigen, global verfügbaren Dienst für Ihre Projekte bereitzustellen.
Weitere Informationen dazu, wie Microsoft sicherstellt, dass Ihre Projekte sicher, verfügbar, sicher und privat sind, finden Sie in der Azure DevOps-Datenschutzübersicht.
Konten
Während menschliche Benutzerkonten den primären Fokus haben, unterstützt Azure DevOps auch verschiedene andere Kontotypen für unterschiedliche Vorgänge:
- Eigentümer der Organisation: Der Ersteller einer Azure DevOps Dienste-Organisation oder der zugewiesene Eigentümer. Um den Verantwortlichen für Ihre Organisation zu finden, siehe Suchen Sie den Eigentümer der Organisation.
- Dienstkonten: Interne Azure DevOps-Organisation, die zur Unterstützung eines bestimmten Dienstes verwendet wird, wie z. B. Agent Pool Service, PipelinesSDK. Beschreibungen von Dienstkonten finden Sie unter Sicherheitsgruppen, Dienstkonten und Berechtigungen.
- Dienstprinzipale oder verwaltete Identitäten: Microsoft Entra-Anwendungen oder verwaltete Identitäten , die Ihrer Organisation hinzugefügt wurden, um Aktionen im Auftrag einer Nicht-Microsoft-Anwendung auszuführen. Einige Service-Aufträge beziehen sich auf die interne Azure DevOps-Organisation zur Unterstützung interner Vorgänge.
- Einzelvorgang-Agenten: Interne Konten, die für die Ausführung bestimmter Einzelvorgänge nach einem regelmäßigen Zeitplan verwendet werden.
- Konten von Drittanbietern: Konten, die Zugriff auf die Unterstützung von Web-Hooks, Dienstverbindungen oder anderen Nicht-Microsoft-Anwendungen erfordern.
In unseren sicherheitsrelevanten Artikeln bezieht sich der Begriff "Benutzer" auf alle Identitäten, die dem Benutzer Hub hinzugefügt wurden, was sowohl menschliche Benutzer als auch Service-Auftraggeber umfassen kann.
- Dienstkonten: Interne Azure DevOps-Organisation, die zur Unterstützung eines bestimmten Dienstes verwendet wird, wie z. B. Agent Pool Service, PipelinesSDK. Beschreibungen von Dienstkonten finden Sie unter Sicherheitsgruppen, Dienstkonten und Berechtigungen.
- Dienstprinzipale oder verwaltete Identitäten: Microsoft Entra-Anwendungen oder verwaltete Identitäten, die Ihrer Organisation hinzugefügt wurden, um Aktionen im Auftrag einer Nicht-Microsoft-Anwendung auszuführen. Einige Service-Aufträge beziehen sich auf die interne Azure DevOps-Organisation zur Unterstützung interner Vorgänge.
- Einzelvorgang-Agenten: Interne Konten, die für die Ausführung bestimmter Einzelvorgänge nach einem regelmäßigen Zeitplan verwendet werden.
- Konten von Drittanbietern: Konten, die Zugriff auf die Unterstützung von Web-Hooks, Dienstverbindungen oder anderen Nicht-Microsoft-Anwendungen erfordern.
Die effektivste Art, Konten zu verwalten, ist das Hinzufügen zu Sicherheitsgruppen.
Hinweis
Der Organisationseigentümer und die Mitglieder der Gruppe der Projektsammlungsadministratoren erhalten vollen Zugriff auf fast alle Eigenschaften und Funktionen.
Authentifizierung
Die Authentifizierung überprüft die Identität eines Benutzers basierend auf den Anmeldeinformationen, die während der Anmeldung bei Azure DevOps bereitgestellt werden. Azure DevOps ist in mehrere Identitätssysteme integriert, um die Authentifizierung zu verwalten:
- Microsoft Entra-ID: Empfohlen für Organisationen, die eine große Benutzergruppe verwalten. Bietet eine robuste, cloudbasierte Authentifizierung und Benutzerverwaltung.
- Microsoft-Konto (MSA): Geeignet für kleinere Benutzerbasen, die auf Azure DevOps-Organisationen zugreifen. Unterstützt die Cloudauthentifizierung.
- Active Directory (AD): Empfohlen für lokale Bereitstellungen mit vielen Benutzern, die Ihre vorhandene AD-Infrastruktur verwenden.
Microsoft Entra-ID und Microsoft-Konten unterstützen beide die Cloudauthentifizierung. Für weitere Informationen siehe Über den Zugriff auf Azure DevOps mit Microsoft Entra ID.
Verwenden Sie für lokale Umgebungen Active Directory, um den Benutzerzugriff effizient zu verwalten. Weitere Informationen finden Sie unter Einrichten von Gruppen für die Verwendung in lokalen Bereitstellungen.
Programmgesteuerte Authentifizierung
Greifen Sie programmgesteuert auf Ihre Azure DevOps-Organisation zu, ohne wiederholt Ihren Benutzernamen und Ihr Kennwort einzugeben, indem Sie eine der verfügbaren Authentifizierungsmethoden auswählen. Verwenden Sie die folgenden Methoden, um Workflows zu automatisieren, in REST-APIs zu integrieren oder benutzerdefinierte Anwendungen zu erstellen:
- Verwenden Sie OAuth , um Anwendungen zu erstellen, die Aktionen im Auftrag von Benutzern ausführen. Benutzer müssen der App zustimmen. Verwenden Sie für neue Apps Microsoft Entra OAuth.
- Verwenden Sie Dienstprinzipale oder verwaltete Identitäten , um Workflows zu automatisieren oder Tools zu erstellen, die regelmäßig auf Organisationsressourcen zugreifen. Stellen Sie Microsoft Entra-Token im Namen der Anwendung selbst aus.
- Verwenden Sie Microsoft Entra-ID für sichere, cloudbasierte Authentifizierung und Benutzerverwaltung.
- Verwenden Sie persönliche Zugriffstoken (PATs) für Ad-hoc-Anforderungen oder frühe Prototyperstellung. Vermeiden Sie PATs für die langfristige App-Entwicklung, da sie anfälliger für Lecks und Missbrauch sind.
Tipp
Speichern Sie Anmeldeinformationen immer sicher und befolgen Sie bewährte Methoden zum Verwalten von Authentifizierungsmethoden.
Standardmäßig erlaubt Ihre Organisation den Zugriff für alle Authentifizierungsmethoden. Organisationsadministratoren können den Zugriff auf diese Authentifizierungsmethoden einschränken, indem Sie Sicherheitsrichtlinien deaktivieren. Mieter-Verwalteren können außerdem Reduzieren Sie das PAT-Risiko, indem Sie die Art und Weise einschränken, in der sie erstellt werden können.
Autorisierung
Autorisierung bestimmt, ob eine authentifizierte Identität über die erforderlichen Berechtigungen für den Zugriff auf einen bestimmten Dienst, eine Funktion, eine Funktion, ein Objekt oder eine Methode in Azure DevOps verfügt. Autorisierungsprüfungen treten immer nach erfolgreicher Authentifizierung auf – wenn die Authentifizierung fehlschlägt, wird die Autorisierung nie ausgewertet. Auch nach der Authentifizierung werden Benutzern oder Gruppen möglicherweise der Zugriff auf bestimmte Aktionen verweigert, wenn sie nicht über die erforderlichen Berechtigungen verfügen.
Azure DevOps verwaltet die Autorisierung über Berechtigungen, die benutzern direkt zugewiesen oder durch Sicherheitsgruppen oder Rollen geerbt wurden. Zugriffsstufen und Featurekennzeichnungen können den Zugriff auf bestimmte Features weiter steuern. Weitere Informationen zu diesen Autorisierungsmethoden finden Sie unter "Erste Schritte mit Berechtigungen, Zugriff und Sicherheitsgruppen".
Sicherheitsnamespaces und Berechtigungen
Sicherheitsnamespaces definieren Benutzerzugriffsebenen für bestimmte Aktionen für Azure DevOps-Ressourcen.
- Jede Ressourcenfamilie, z. B. Arbeitsaufgaben oder Git-Repositorys, verfügt über einen eigenen eindeutigen Namespace.
- Innerhalb jedes Namespaces können mehrere Zugriffssteuerungslisten (Access Control Lists, ACLs) vorhanden sein.
- Jede ACL enthält ein Token, ein Vererbungskennzeichen und mindestens einen oder mehrere Zugriffssteuerungseinträge (ACEs).
- Jede ACE gibt einen Identitätsdeskriptor, eine Bitmaske für zulässige Berechtigungen und eine Bitmaske für verweigerte Berechtigungen an.
Weitere Informationen finden Sie unter Sicherheitsnamespaces und Berechtigungsreferenz.
Sicherheitsrichtlinien
Um Ihre Organisation und Ihren Code zu schützen, können Administratoren auf Organisationsebene (Project Collection Administrator) oder Mandantenebene (Azure DevOps-Administrator) verschiedene Sicherheitsrichtlinien je nach Richtlinienbereich aktivieren oder deaktivieren. Zu berücksichtigende Schlüsselrichtlinien:
- Geben Sie eine URL für die Datenschutzrichtlinie an, um zu beschreiben, wie Sie den Datenschutz von internen und externen Gastdaten behandeln.
- Entscheiden Sie, ob Benutzer in Ihrer Organisation öffentliche Projekte erstellen dürfen.
Wenn Ihre Organisation mit der Microsoft Entra-ID verbunden ist, haben Sie Zugriff auf die folgenden anderen Sicherheitsfeatures:
- Einschränken der Organisationserstellung auf bestimmte Benutzer.
- Laden Sie externe Gäste zur Organisation ein.
- Zulassen, dass Team- und Projektadministratoren neue Benutzer einladen.
- Aktivieren Sie die CAP-Überprüfung (Conditional Access Policy).
- Verfolgen von Prüfungsereignissen und Datenströmen in Ihrer Organisation.
Überprüfen und konfigurieren Sie diese Richtlinien, um den Sicherheitsstatus Ihrer Organisation zu stärken und die Einhaltung Ihrer Datenschutz- und Zugriffsanforderungen sicherzustellen.
Gruppe "Project-Scoped-Benutzer"
Standardmäßig können Benutzer, die zu einer Organisation hinzugefügt werden, alle Organisations- und Projektinformationen und -einstellungen anzeigen, einschließlich Benutzerlisten, Projektlisten, Abrechnungsdetails, Nutzungsdaten und mehr.
Um den Zugriff für bestimmte Benutzer einzuschränken—wie etwa Stakeholder, Microsoft Entra-Gastbenutzer oder Mitglieder einer bestimmten Sicherheitsgruppe—aktivieren Sie die Vorschaufunktion Benutzersichtbarkeit und Zusammenarbeit auf bestimmte Projekte beschränken für Ihre Organisation. Wenn dieses Feature aktiviert ist, wird jeder Benutzer oder jede Gruppe, die der GruppeProject-Scoped Benutzer hinzugefügt wird, auf folgende Weise eingeschränkt:
- Der Zugriff ist auf die Seiten "Übersicht" und "Projekte " in den Organisationseinstellungen beschränkt.
- Benutzer können nur eine Verbindung zu Projekten herstellen und diese anzeigen, zu denen sie explizit hinzugefügt werden.
- Benutzer können nur Benutzer- und Gruppenidentitäten auswählen, die demselben Projekt explizit hinzugefügt werden.
Weitere Informationen finden Sie unter Verwalten Ihrer Organisation: Einschränken der Benutzersichtbarkeit für Projekte und mehr und Verwalten von Vorschaufeatures.
Warnung
Beachten Sie die folgenden Einschränkungen bei der Verwendung dieses Vorschaufeatures:
- Die in diesem Abschnitt beschriebenen Features für eingeschränkte Sichtbarkeit gelten nur für Interaktionen über das Webportal. Mit den REST-APIs oder
azure devopsCLI-Befehlen können Projektmitglieder auf die eingeschränkten Daten zugreifen. - Benutzer in der eingeschränkten Gruppe können nur Benutzer auswählen, die explizit zu Azure DevOps hinzugefügt wurden, und keine Benutzer, die über die Microsoft Entra-Gruppenmitgliedschaft Zugriff haben.
- Gastbenutzer, die Mitglieder der eingeschränkten Gruppe mit Standardzugriff in Microsoft Entra ID sind, können mit der Personenauswahl nicht nach Benutzern suchen.
Git-Repository- und Branchrichtlinien
Um Ihren Code zu sichern, können Sie verschiedene Git-Repository- und Branch-Policies aktivieren. Weitere Informationen finden Sie in den folgenden Artikeln.
Azure Repos und Azure Pipelines-Sicherheit
Da Repositorys und Build- und Release-Pipelines einzigartige Sicherheitsprobleme darstellen, werden andere Features, die über die in diesem Artikel beschriebenen Features hinausgehen, verwendet. Weitere Informationen finden Sie in den folgenden Artikeln.
- Sichern von Azure-Pipelines
- Planen Sie, wie Sie Ihre YAML-Pipelines absichern
- Repository-Schutz
- Pipeline-Ressourcen
- Empfehlungen zur sicheren Strukturierung von Projekten in Ihrer Pipeline
- Sicherheit durch Vorlagen
- Anleitung zur sicheren Verwendung von Variablen und Parametern in Ihrer Pipeline
- Empfehlungen zur Sicherung der gemeinsamen Infrastruktur in Azure-Pipelines
- Andere Sicherheitsüberlegungen