Informationen zu Sicherheit, Authentifizierung und Autorisierung

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Azure DevOps verwendet eine Reihe von Sicherheitskonzepten, um sicherzustellen, dass nur dieJenigen Zugriff auf Features, Funktionen und Daten haben sollten. Konten erhalten Zugriff auf Azure DevOps durch Authentifizierung ihrer Sicherheitsanmeldeinformationen und Autorisierung ihrer Kontoberechtigungen für den Zugriff auf ein Feature oder eine Funktion.

Dieser Artikel baut auf den Informationen unter Erste Schritte mit Berechtigungen, Zugriff und Sicherheitsgruppenauf. Administratoren profitieren von der Kenntnis der Kontotypen, Authentifizierungsmethoden, Autorisierungsmethoden und Richtlinien, die zum Sichern Azure DevOps verwendet werden.


Kontotypen

  • Benutzer
  • Organisationsbesitzer
  • Dienstkonten
  • Dienstprinzipale
  • Auftrags-Agents

Authentifizierung

  • Benutzeranmeldeinformationen
  • Windows-Authentifizierung
  • Zweistufige Authentifizierung (2FA)
  • SSH-Schlüsselauthentifizierung
  • Persönliche Zugriffstoken
  • OAuth-Konfiguration
  • Active Directory-Authentifizierungsbibliothek

Autorisierung

  • Mitgliedschaft in Sicherheitsgruppen
  • Rollenbasierte Zugriffssteuerung
  • Zugriffsebenen
  • Featureflags
  • Sicherheitsnamespaces und -berechtigungen

Richtlinien

  • URL zur Datenschutzrichtlinie
  • Anwendungsverbindungs- und Sicherheitsrichtlinien
  • Richtlinien für Benutzer
  • Git-Repository- und Branchrichtlinien

'::': moniker range="< azure-devops"

Kontotypen

  • Benutzer
  • Dienstkonten
  • Dienstprinzipale
  • Auftrags-Agents

Authentifizierung

  • Benutzeranmeldeinformationen
  • Windows-Authentifizierung
  • Zweistufige Authentifizierung (2FA)
  • SSH-Schlüsselauthentifizierung
  • Persönliche Zugriffstoken
  • OAuth-Konfiguration
  • Active Directory-Authentifizierungsbibliothek

Autorisierung

  • Mitgliedschaft in Sicherheitsgruppen
  • Rollenbasierte Berechtigungen
  • Zugriffsebenen
  • Featureflags
  • Sicherheitsnamespaces und -berechtigungen

Richtlinien

  • Git-Repository- und Branchrichtlinien

Wichtig

Azure DevOps ab dem 2. März 2020 keine Authentifizierung mit alternativen Anmeldeinformationen mehr unterstützt. Wenn Sie weiterhin alternative Anmeldeinformationen verwenden, empfehlen wir Ihnen dringend, zu einer sichereren Authentifizierungsmethode zu wechseln (z. B. persönliche Zugriffstoken). Weitere Informationen

Sowohl unser Clouddienst, Azure DevOps Services als auch der lokale Server, Azure DevOps Server, unterstützen Softwareentwicklungsprojekte von der Planung bis zur Bereitstellung. Azure DevOps verwendet die Platform-as-a-Service-Infrastruktur von Microsoft Azure und viele Azure-Dienste, einschließlich Azure SQL-Datenbanken, um einen zuverlässigen, global verfügbaren Dienst für Ihre Entwicklungsprojekte bereitzustellen.

Weitere Informationen zu den Schritten, die Microsoft unternimmt, um Ihre Projekte in Azure DevOps Services sicheren, verfügbaren, sicheren und privaten Bereichen zu halten, finden Sie in diesem Whitepaper Azure DevOps Services Data Protection Overview.

Konten

Während die wichtigsten Arten von Konten von Interesse die Benutzerkonten sind, die Sie Ihrer Organisation oder Ihrem Projekt hinzufügen, unterstützt Azure DevOps andere Arten von Konten, um verschiedene Vorgänge auszuführen. Dazu gehören die folgenden Kontotypen.

  • Organisationsbesitzer: Der Ersteller einer Azure DevOps Services Organisation oder zugewiesener Besitzer. Informationen dazu, wer der Besitzer der Organisation für Ihre Organisation ist, finden Sie unter Erhöhen Ihrer Berechtigungen. Suchen Sie nach einem Administrator.
  • Dienstkonten: Interne Azure DevOps Konten, die zur Unterstützung eines bestimmten Diensts verwendet werden, z. B. Agentpooldienst, PipelinesSDK. Beschreibungen von Dienstkonten finden Sie unter Sicherheitsgruppen, Dienstkonten und Berechtigungen.
  • Dienstprinzipale: Interne Azure DevOps Konten zur Unterstützung interner Vorgänge.
  • Auftrags-Agents: Interne Konten, die verwendet werden, um bestimmte Aufträge nach einem regelmäßigen Zeitplan auszuführen.
  • Konten von Drittanbietern: Konten, die Zugriff benötigen, um Webhooks, Dienstverbindungen oder andere Drittanbieteranwendungen zu unterstützen.
  • Dienstkonten: Interne Azure DevOps Konten, die zur Unterstützung eines bestimmten Diensts verwendet werden, z. B. Agentpooldienst, PipelinesSDK. Beschreibungen von Dienstkonten finden Sie unter Sicherheitsgruppen, Dienstkonten und Berechtigungen.
  • Dienstprinzipale: Interne Azure DevOps Konten zur Unterstützung interner Vorgänge.
  • Auftrags-Agents: Interne Konten, die verwendet werden, um bestimmte Aufträge nach einem regelmäßigen Zeitplan auszuführen.
  • Konten von Drittanbietern: Konten, die Zugriff benötigen, um Webhooks, Dienstverbindungen oder andere Drittanbieteranwendungen zu unterstützen.

Die effektivste Möglichkeit zum Verwalten von Konten ist das Hinzufügen zu Sicherheitsgruppen.

Hinweis

Dem Organisationsbesitzer und den Mitgliedern der Gruppe Project Sammlungsadministratoren wird vollzugriff auf die meisten Features und Funktionen gewährt.

Authentifizierung

Die Authentifizierung überprüft eine Kontoidentität anhand der Anmeldeinformationen, die bei der Anmeldung bei Azure DevOps angegeben wurden. Diese Systeme lassen sich in die Sicherheitsfeatures dieser zusätzlichen Systeme integrieren und verlassen sich darauf:

  • Azure Active Directory (Azure AD)
  • Microsoft-Konto (MSA)
  • Active Directory (AD)

Azure AD und MSA unterstützen die Cloudauthentifizierung. Es wird empfohlen, Azure AD, wenn Sie eine große Gruppe von Benutzern verwalten müssen. Andernfalls können Sie Microsoft-Konten verwenden, wenn Sie über eine kleine Benutzerbasis verfügen, die auf Ihre Organisation in Azure DevOps zugreift. Weitere Informationen finden Sie unter Informationen zum Zugriff auf Azure DevOps mit Azure Active Directory (Azure AD).

Für lokale Bereitstellungen wird AD bei der Verwaltung einer großen Gruppe von Benutzern empfohlen. Weitere Informationen finden Sie unter Einrichten von Gruppen für die Verwendung in lokalen Bereitstellungen.

Authentifizierungsmethoden, Integration in andere Dienste und Apps

Andere Anwendungen und Dienste können in Dienste und Ressourcen in Azure DevOps integriert werden. Apps können die folgenden Authentifizierungsmethoden verwenden, um auf Ihr Konto zuzugreifen, ohne mehrmals nach Benutzeranmeldeinformationen zu fragen.

Standardmäßig lässt Ihr Konto oder Ihre Sammlung den Zugriff für alle Authentifizierungsmethoden zu. Sie können den Zugriff einschränken, aber Sie müssen den Zugriff für jede Methode speziell einschränken. Wenn Sie den Zugriff auf eine Authentifizierungsmethode verweigern, kann keine App diese Methode verwenden, um auf Ihr Konto zuzugreifen. Jede App, die zuvor Zugriff hatte, erhält einen Authentifizierungsfehler und kann nicht auf Ihr Konto zugreifen.

Weitere Informationen zum Speichern Ihrer Anmeldeinformationen finden Sie unter Anmeldeinformationsspeicher für Azure DevOps.

Weitere Informationen zum Auswählen des richtigen Authentifizierungsmechanismus finden Sie unter Leitfaden für die Authentifizierung.

Authorization

Die Autorisierung überprüft, ob die Identität, die versucht, eine Verbindung herzustellen, über die erforderlichen Berechtigungen für den Zugriff auf einen Dienst, ein Feature, eine Funktion, ein Objekt oder eine Methode verfügt. Die Autorisierung erfolgt immer nach erfolgreicher Authentifizierung. Wenn eine Verbindung nicht authentifiziert werden kann, missling der Verbindungsversuch bereits vor der Autorisierung. Wenn die Authentifizierung einer Verbindung erfolgreich ist, ist eine bestimmte Aktion möglicherweise immer noch nicht zulässig, da der Benutzer oder die Gruppe nicht autorisiert war, diese Aktion auszuführen.

Die Autorisierung hängt von den Berechtigungen ab, die dem Konto zugewiesen sind. Berechtigungen werden entweder direkt einem Konto oder durch Mitgliedschaft in einer Sicherheitsgruppe oder Sicherheitsrolle gewährt. Zugriffsebenen und Featureflags können auch den Zugriff auf ein Feature gewähren oder einschränken. Weitere Informationen zu diesen Autorisierungsmethoden finden Sie unter Erste Schritte mit Berechtigungen, Zugriff und Sicherheitsgruppen.

Sicherheitsnamespaces und -berechtigungen

Sicherheitsnamespaces speichern Daten, die die Zugriffsebene bestimmen, die Azure DevOps Konten für eine bestimmte Ressource ausführen müssen. Jede Ressourcenfamilie, z. B. Arbeitselemente oder Git-Repositorys, wird durch einen eindeutigen Namespace geschützt. Jeder Sicherheitsnamespace enthält null oder mehr Zugriffssteuerungslisten (ACLs). Jede Zugriffssteuerungsliste enthält ein Token, ein Erbenflag und einen Satz von null oder mehr Zugriffssteuerungseinträgen (ACEs). Jeder ACE enthält einen Identitätsdeskriptor, eine zulässige Berechtigungsbitmaske und eine Bitmaske mit verweigerten Berechtigungen.

Weitere Informationen finden Sie unter Sicherheitsnamespaces und Berechtigungsreferenz.

Sicherheitsrichtlinien

Um Ihre Organisation und Ihren Code zu schützen, können Sie eine Reihe von Richtlinien festlegen. Insbesondere können Sie die folgenden Richtlinien aktivieren oder deaktivieren:

Allgemein

Anwendungsverbindungs- und Sicherheitsrichtlinien

  • Anwendungszugriff von Drittanbietern über OAuth: Ermöglicht bei Aktivierung, dass Anwendungen von Drittanbietern über OAuth eine Verbindung herstellen können. Weitere Informationen finden Sie unter Ändern der Anwendungsverbindung & Sicherheitsrichtlinien für Ihre Organisation.
  • SSH-Authentifizierungszugriff: Wenn diese Option aktiviert ist, können Anwendungen mithilfe der SSH-Authentifizierung eine Verbindung herstellen. Weitere Informationen finden Sie unter Ändern der Anwendungsverbindung & Sicherheitsrichtlinien für Ihre Organisation.
  • Öffentliche Projekte zulassen: Wenn diese Option aktiviert ist, können Benutzer öffentliche Projekte erstellen, die Nichtmitglieder eines Projekts und Benutzer, die nicht schreibgeschützt sind, eingeschränkten Zugriff auf die Artefakte und Dienste des Projekts ermöglichen. Weitere Informationen finden Sie unter Veröffentlichen Ihres Projekts und Aktivieren des anonymen Zugriffs auf Projekte für Ihre Organisation.
  • Organisationserstellung über Azure AD Mandantenrichtlinie einschränken (Nur gültig, wenn die Organisation von Azure Active Directory. unterstützt wird): Wenn diese Option aktiviert ist, können Benutzer keine zusätzlichen Azure DevOps Organisationen erstellen, die automatisch von der Azure AD unterstützt werden. Informationen zum Aktivieren finden Sie unter Einschränken der Organisationserstellung über Azure AD Mandantenrichtlinie.
  • Aktivieren Sie Azure Active Directory (Azure AD) Überprüfung der Richtlinie für bedingten Zugriff (Conditional Access Policy, CAP) (Nur gültig, wenn die Organisation von Azure Active Directory unterstützt wird): Wenn aktiviert, können Sie zusätzliche Bedingungen für den Zugriff auf die Organisation festlegen. Je nachdem, welche Bedingungen der Benutzer erfüllt, können Sie die mehrstufige Authentifizierung, weitere Überprüfungen oder den Zugriff blockieren. Diese Richtlinie ist standardmäßig deaktiviert und gilt nur für alternative Anmeldeinformationen. Diese Richtlinie gilt nicht für CAPs, die in Azure AD festgelegt sind, unabhängig von den Einstellungen in Azure DevOps. Weitere Informationen finden Sie unter Ändern der Anwendungsverbindung & Sicherheitsrichtlinien für Ihre Organisation.

Richtlinien für Benutzer

  • Externer Gastzugriff (Nur gültig, wenn die Organisation von Azure Active Directory unterstützt wird): Wenn diese Option aktiviert ist, können Einladungen über die Seite Benutzer an E-Mail-Konten von Benutzern gesendet werden, die keine Mitglieder des Mandanten sind Azure Active Directory. Weitere Informationen finden Sie unter Hinzufügen externer Benutzer zu Ihrer Organisation.
  • Zulassen, dass Team- und Projektadministratoren neue Benutzer einladen: Nur gültig, wenn die Organisation von Azure Active Directory unterstützt wird. Wenn diese Option aktiviert ist, können Team- und Projektadministratoren Benutzer über die Seite Benutzer hinzufügen. Weitere Informationen finden Sie unter Einschränken neuer Benutzereinladungen von Project und Teamadministratoren.
  • Zugriff anfordern: Nur gültig, wenn die Organisation von Azure Active Directory unterstützt wird. Wenn diese Option aktiviert ist, können Benutzer Zugriff auf eine Ressource anfordern. Eine Anforderung führt zu einer E-Mail-Benachrichtigung an die Administratoren, die nach Bedarf um Überprüfung und Zugriff bitten. Weitere Informationen finden Sie unter Hinzufügen externer Benutzer zu Ihrer Organisation.
  • Einladen GitHub Benutzer: Nur gültig, wenn die Organisation nicht von Azure Active Directory unterstützt wird. Wenn diese Option aktiviert ist, können Administratoren Benutzer basierend auf ihren GitHub Benutzerkonten auf der Seite Benutzer hinzufügen. Weitere Informationen finden Sie unter Authentifizierung & Einladen von GitHub Benutzern – Häufig gestellte Fragen.

Project-Scoped Benutzergruppe

Standardmäßig können Benutzer, die einer Organisation hinzugefügt wurden, alle Organisations- und Projektinformationen und -einstellungen anzeigen. Dies umfasst das Anzeigen einer Liste von Benutzern, einer Liste von Projekten, Abrechnungsdetails, Nutzungsdaten und mehr, auf die über Organization Einstellungen zugegriffen wird.

Um ausgewählte Benutzer wie Projektbeteiligte, Azure Active Directory Gastbenutzer oder Mitglieder einer bestimmten Sicherheitsgruppe einzuschränken, können Sie die Funktion Benutzersichtbarkeit für Projekte einschränken für die Organisation aktivieren. Sobald dies aktiviert ist, werden alle Benutzer oder Gruppen, die der Gruppe Project Bereichsbezogenen Benutzern hinzugefügt wurden, auf folgende Weise eingeschränkt:

  • Kann nur auf die Seiten Übersicht und Projekte der Organisation Einstellungen zugreifen.
  • Kann nur die Projekte verbinden und anzeigen, denen sie explizit hinzugefügt wurden (siehe Hinzufügen von Benutzern zu einem Projekt oder Team).
  • Kann nur Benutzer- und Gruppenidentitäten auswählen, die dem Projekt, mit dem sie verbunden sind, explizit hinzugefügt wurden.

Weitere Informationen zum Einschränken der Benutzersichtbarkeit für Projekte finden Sie unter Informationen zu Projekten, Einschränken der Benutzersichtbarkeit für Projekte. Informationen zum Aktivieren des Features finden Sie unter Verwalten oder Aktivieren von Features.

Git-Repository- und Branchrichtlinien

Um Ihren Code zu schützen, können Sie eine Reihe von Git-Repository- und Branchrichtlinien festlegen. Weitere Informationen finden Sie in den folgenden Artikeln:

Azure Repos und Azure Pipelines Sicherheit

Da Repositorys und Build- und Releasepipelines besondere Sicherheitsprobleme darstellen, werden zusätzliche Features verwendet, die über die in diesem Artikel beschriebenen hinausgehen. Weitere Informationen finden Sie in den folgenden Artikeln:

Nächste Schritte