Freigeben über


Konfigurieren von Sicherheitseinstellungen für Managed DevOps-Pools

Erfahren Sie, wie Sie Sicherheitseinstellungen für verwaltete DevOps-Pools konfigurieren. Es gibt zwei Möglichkeiten zum Konfigurieren von Sicherheitseinstellungen:

  • Wenn Sie einen Pool mithilfe der Registerkarte "Sicherheit " erstellen
  • Nachdem Sie einen Pool mithilfe des Bereichs "Sicherheitseinstellungen " erstellt haben

Konfigurieren des Organisationszugriffs

Standardmäßig sind Pools, die Sie mit verwalteten DevOps-Pools erstellen, für alle Projekte in einer einzigen Organisation konfiguriert. Sie können optional den Zugriff auf bestimmte Projekte in der Organisation einschränken und auch anderen Organisationen Zugriff gewähren.

Wenn Sie Ihren Pool konfigurieren und Zugriff auf alle Projekte gewähren, wird der Pool zu den Projekten hinzugefügt, für die Sie über die entsprechenden Berechtigungen verfügen. Wenn Sie Ihren Pool konfigurieren und Zugriff auf bestimmte Projekte gewähren, müssen Sie über die Berechtigung verfügen, den Pool in allen festgelegten Projekten hinzuzufügen, oder die Poolerstellung schlägt fehl.

Informationen zum Anzeigen der Berechtigungen, die zum Konfigurieren von verwalteten DevOps-Pools in Ihrer Organisation und in Ihren Projekten erforderlich sind, finden Sie unter Voraussetzungen: Überprüfen der Azure DevOps-Berechtigungen.

Verwenden Sie einen Pool mit einer einzigen Organisation

Standardmäßig ist verwaltete DevOps-Pools mit einer einzelnen Azure DevOps-Organisation konfiguriert, die Sie beim Erstellen des Pools angeben. Wenn Ihr Pool für eine einzelne Organisation konfiguriert ist, wird der Organisationsname in den Pooleinstellungen angezeigt und konfiguriert.

Standardmäßig ist die Einstellung Pool zu allen Projekten hinzufügen auf Ja festgelegt, und der Zugriff auf den verwalteten DevOps-Pool wird allen Projekten in der Organisation gewährt. Wenn Sie einschränken möchten, welche Projekte in Ihrer Organisation den Pool verwenden können, wählen Sie "Nein" aus, und geben Sie dann an, welche Projekte Zugriff haben sollen.

Screenshot, der zeigt, wie Projekte für eine einzelne Organisation konfiguriert werden.

Verwenden eines Pools in mehreren Organisationen

Wenn Sie Ihren Pool mit mehreren Azure DevOps-Organisationen verwenden möchten, aktivieren Sie "Pool in mehreren Organisationen verwenden". Geben Sie für jede Organisation die Projekte an, die den Pool verwenden dürfen, oder lassen Sie dieses Feld leer, um alle Projekte zuzulassen. Konfigurieren Sie den Parallelismus für jede Organisation, indem Sie festlegen, welche Teile der Parallelität gemäß dem Wert "Maximum agents" für den Pool jeder Organisation zugewiesen werden sollen. Die Summe der Parallelität für alle Organisationen muss der maximalen Parallelität des Pools entsprechen. Wenn beispielsweise " Maximale Agenten " auf fünf festgelegt ist, muss die Summe der Parallelität für die angegebenen Organisationen fünf sein. Wenn der Wert der maximalen Agents auf einen festgelegt ist, können Sie den Pool nur mit einer Organisation verwenden.

Im folgenden Beispiel ist der Pool so konfiguriert, dass er für die FabrikamResearch - und FabrikamTest-Projekte in der Fabrikam-tailspin-Organisation und für alle Projekte in der fabrikam-blue-Organisation verfügbar ist.

Screenshot, der zeigt, wie Sie mehrere Organisationen konfigurieren.

Wenn Sie eine Fehlermeldung erhalten, stellen Sie sicher, dass die The sum of parallelism for all organizations must equal the max concurrency für den Pool mit der Summe der Spalte Parallelismus übereinstimmt.

Konfigurieren Sie den offenen Zugriff für Pipelines zu Ihrem Pool

Um den offenen Zugriff für Pipelines zu konfigurieren, müssen Sie zusätzlich zu den in den Voraussetzungen beschriebenen Berechtigungen über die folgenden Berechtigungen verfügen: Überprüfen Sie Azure DevOps-Berechtigungen:

Standardmäßig müssen Sie jede Pipelinedefinition explizit autorisieren, um sie in einem selbst gehosteten Agentpool (z. B. einem Pool, der mit verwalteten DevOps-Pools erstellt wurde) auszuführen, bevor sie zum ersten Mal in diesem Pool ausgeführt wird.

Azure DevOps bietet die folgenden Modi, um Pipelines für die Ausführung in einem Agentpool zu autorisieren.

  • Autorisieren sie bestimmte Pipelines (Standard): Autorisieren Sie einzelne Pipelines aus einem Azure DevOps-Projekt für die Ausführung im Pool.
  • Offener Zugriff: Konfigurieren Sie einen Agentpool auf Projektebene, um für alle Pipelines in diesem Projekt verfügbar zu sein.

Aktivieren Sie "Alle Pipelines dürfen ohne Genehmigung im Pool ausgeführt werden (offener Zugriff)", um die Open Access-Agent-Pool-Einstellung in Azure DevOps zu konfigurieren, wenn Sie den Pool erstellen.

Sie können die Einstellung Alle Pipelines dürfen auf dem Pool ohne Genehmigung (offener Zugriff) ausgeführt werden nur dann in verwalteten DevOps-Pools aktivieren, wenn Sie den Pool erstellen. Nachdem der Pool erstellt wurde, können Sie den Open-Zugriff im entsprechenden Agentpool in Azure DevOps für jedes Projekt anzeigen und konfigurieren, das den Pool verwendet.

Um den Zugriff auf den Pool von allen Pipelines in den angegebenen Projekten zu konfigurieren, aktivieren Sie die Option Zulassen, dass alle Pipelines ohne Genehmigung (offener Zugriff) auf dem Pool ausgeführt werden können.

Screenshot, der zeigt, wie Sie den geöffneten Zugriff konfigurieren.

  • Wenn "Pool zu allen Projekten hinzufügen " auf "Ja" festgelegt ist, konfiguriert verwaltete DevOps-Pools den Open-Zugriff für alle Pipelines in allen Projekten.
  • Wenn "Pool zu allen Projekten hinzufügen " auf "Nein" festgelegt ist, konfiguriert verwaltete DevOps-Pools den offenen Zugriff für alle Pipelines nur in den aufgelisteten Projekten.

Wenn Sie "Pool verwenden" in mehreren Organisationen aktivieren, können Sie den Open-Zugriff für jede Organisation einzeln angeben.

Screenshot, der zeigt, wie Sie den offenen Zugriff für mehrere Organisationen konfigurieren.

Wenn Sie versuchen, eine Pipeline auszuführen, die nicht für den Zugriff auf Ihren Agentpool autorisiert ist, wird eine Fehlermeldung wie "Diese Pipeline benötigt die Berechtigung für den Zugriff auf eine Ressource, bevor diese Ausführung fortgesetzt werden kann" angezeigt. Sie können dieses Problem beheben, indem Sie den offenen Zugriff konfigurieren, wie im vorherigen Abschnitt beschrieben, oder indem Sie die Pipeline explizit autorisieren, die im Agentpool ausgeführt werden soll.

Konfigurieren des interaktiven Modus

Wenn Ihre Tests eine interaktive Anmeldung für UI-Tests benötigen, aktivieren Sie die interaktive Anmeldung, indem Sie die Einstellung "EnableInteractiveMode" aktivieren.

Screenshot, der zeigt, wie der interaktive Modus aktiviert wird.

Konfigurieren von Poolverwaltungsberechtigungen

Im Rahmen des Erstellungsprozesses für verwalteten DevOps-Pool wird ein Agentpool auf Organisationsebene von Azure DevOps erstellt, und in jedem festgelegten Projekt wird ein Agentpool auf Projektebene erstellt. Die Einstellung "Poolverwaltungsberechtigungen " gibt an, welche Benutzer der Administratorberechtigung für die neu erstellten Agentpools in Azure DevOps erteilt werden. Informationen zum Anzeigen und Verwalten der Azure DevOps-Agentpoolberechtigungen nach dem Erstellen des verwalteten DevOps-Pools finden Sie unter Erstellen und Verwalten von Agentpools: Sicherheit von Agentpools.

Screenshot, der zeigt, wie Poolverwaltungsberechtigungen konfiguriert werden.

  • Ersteller nur: Diese Einstellung fügt den Benutzer hinzu, der den verwalteten DevOps-Pool als Administrator des Azure DevOps-Agentpools erstellt hat, und legt die Vererbung in den Sicherheitseinstellungen für den Agentpool auf "Aus " fest. Nur Creator ist die Standardeinstellung.
  • Berechtigungen vom Projekt übernehmen: Diese Einstellung fügt den Benutzer, der den verwalteten DevOps-Pool erstellt hat, als Administrator des Azure DevOps-Agentpools hinzu und setzt Vererbung in den Sicherheitseinstellungen des Agentpools auf Ein.
  • Bestimmte Konten: Mit dieser Einstellung können Sie die Konten angeben, die Sie als Administratoren des Agentpools in Azure DevOps hinzufügen möchten. Standardmäßig ist der Poolersteller enthalten.

Sie können die Einstellung für poolverwaltungsberechtigungen auf der Registerkarte "Sicherheit " konfigurieren, wenn Sie den Pool erstellen. Sie wird nicht in den Sicherheitseinstellungen angezeigt, nachdem der Pool erstellt wurde. Informationen zum Anzeigen und Verwalten der Azure DevOps-Agentpoolberechtigungen nach dem Erstellen des Pools finden Sie unter Erstellen und Verwalten von Agentpools – Sicherheit von Agentpools.

Einen Key Vault konfigurieren

Verwaltete DevOps-Pools bieten die Möglichkeit, Zertifikate während der Bereitstellung aus einem Azure Key Vault abzurufen. Die Zertifikate sind bereits auf der Maschine vorhanden, wenn Ihre Pipelines ausgeführt werden.

Um dieses Feature zu verwenden, müssen Sie:

  • Konfigurieren Sie eine Identität in Ihrem Pool. Sie müssen dieser Identität Key Vault Secrets User die Berechtigung erteilen, das Geheimnis aus Ihrem Schlüsseltresor abzurufen. Informationen zum Zuweisen Ihrer Identität zur Rolle "Benutzer von Schlüsselbundgeheimnissen" finden Sie unter Gewähren des Zugriffs auf Schlüssel, Zertifikate und Geheimnisse des Schlüsselbunds mit rollenbasierter Azure-Zugriffssteuerung.

  • Der Prinzipal, der die Einstellungen für die Schlüsseltresorintegration konfiguriert (Ihr Konto, wenn Sie die Schlüsseltresoreinstellungen konfigurieren), muss die Rolle Benutzer des Schlüsseltresorzertifikats im Schlüsseltresor haben, in dem die Zertifikate gespeichert sind.

  • Um die Netzwerkisolation für Ihre Azure Key Vault-Instanz zu erzwingen, um nur autorisierten Ressourcenzugriff zu ermöglichen, müssen Sie der Azure Key Vault-Zulassungsliste die folgenden IP-Adressen hinzufügen. Die folgenden IP-Adressbereiche befinden sich in einem Azure-Diensttag namens DevOpsInfrastructure.

    Ort IP-Adressbereich
    australieneast 4.198.194.192/28
    brasiliensouth 74.163.143.32/28
    kanadacentral 130.107.66.0/28
    centralindia 98.70.255.112/28
    centralus 72.152.33.16/28
    Eastus2 72.153.21.192/28
    germanywestcentral 131.189.121.128/28
    Nordeuropa 72.145.24.48/28
    Südostasien 135.171.33.48/28
    schweiznorth 74.161.82.192/28
    uksouth 131.145.107.64/28
    westus3 57.154.125.208/28

Hinweis

api-version 2025-01-21Wenn Sie dieses Feature verwenden, können Sie nur eine einzelne Identität im Pool verwenden.

Sie können nur eine Identität verwenden, um geheime Schlüssel aus dem Schlüsseltresor abzurufen.

Sie legen die Zertifikateinstellungen für verwaltete DevOps-Pools auf Poolebene fest, und einige der Einstellungen sind für Windows oder Linux spezifisch. Wenn Ihr Workflow sowohl Linux- als auch Windows-Images erfordert, müssen Sie sie möglicherweise in mehrere Pools unterteilen, wenn Sie keine gemeinsamen Zertifikateinstellungen finden können, die sowohl für Windows als auch für Linux funktionieren.

Die folgenden Einstellungen konfigurieren die von Ihrem Schlüsseltresor abgerufenen Zertifikate:

  • Zertifikate (observedCertificates): Diese Einstellung gibt die Zertifikate an, die aus Ihrem Schlüsseltresor abgerufen und auf allen Computern in Ihrem Pool installiert werden sollen.
  • Speicherort des Zertifikatspeichers (certificateStoreLocation): Diese Einstellung gibt den Speicherort an, an dem die Zertifikate auf Ihrem Agent installiert werden sollen.
    • Windows-Agents: Angeben LocalMachine oder CurrentUser.
    • Linux-Agents: Die Einstellung Zertifikatspeicherort wird nur auf Ubuntu-Distributionen unterstützt. Geben Sie den Datenträgerpfad zum Speichern der Zertifikate an (z. B /var/lib/waagent/Microsoft.Azure.KeyVault/app1. ). Wenn Sie für Ubuntu-Distributionen den Speicherort des vertrauenswürdigen Zertifikatsspeichers (z. B. /usr/local/share/ca-certificates) angeben, wird das Zertifikat diesem Zertifikatspeicher als Stammzertifikatsspeicher hinzugefügt. Weitere Informationen finden Sie unter Installieren eines Stammzertifizierungsstellenzertifikats im Vertrauensspeicher.
  • Name des Zertifikatspeichers (certificateStoreName)
    • Windows-Agents: Diese Einstellung gibt den Namen des Zertifikatspeichers an. Dies ist entweder My (lokaler Zertifikatspeicher, der standard ist, wenn kein Name angegeben wird) oder Root (vertrauenswürdiger Stammspeicherort).
    • Linux-Agents: Diese Einstellung wird nicht für Linux-Agents verwendet.
  • Exportierbare private Schlüssel (keyExportable): Diese Einstellung gibt an, ob der Schlüssel der Zertifikate exportiert werden kann. Der Standardwert lautet false.

Sie können die Schlüsseltresorintegration in Einstellungen>Sicherheit konfigurieren.

Screenshot, der zeigt, wie Schlüsseltresorzertifikate konfiguriert werden.

Sie können die Key Vault-Integrationseinstellungen konfigurieren, nachdem Sie den Pool erstellt haben. Beim Erstellen des Pools können Sie die Einstellungen für die Key Vault-Integration nicht konfigurieren. Sie werden während der Poolerstellung nicht auf der Registerkarte " Sicherheit " angezeigt.

Konfigurieren von SecretManagementSettings

Zertifikate, die mithilfe von SecretManagementSettings auf Ihrem Pool abgerufen werden, werden automatisch mit den neuesten Versionen synchronisiert, die im Key Vault veröffentlicht wurden. Diese geheimen Schlüssel befinden sich auf dem Computer, wenn sie ihre erste Pipeline ausführt, was bedeutet, dass Sie Zeit sparen und Aufgaben zum Abrufen von Zertifikaten entfernen können.

Wichtig

Die Bereitstellung Ihrer virtuellen Agent-Computer schlägt fehl, wenn der geheime Schlüssel aufgrund eines Berechtigungs- oder Netzwerkproblems nicht aus dem Schlüsseltresor abgerufen werden kann.

Für Windows können Sie den Wert für den Zertifikatspeicherort auf LocalMachine oder CurrentUser festlegen. Diese Einstellung stellt sicher, dass der geheime Schlüssel an diesem Speicherort auf dem Computer installiert ist. Spezifisches Verhalten der Funktionsweise des geheimen Abrufs finden Sie unter Azure Key Vault-Erweiterung für Windows.