Konfigurieren von Sicherheitseinstellungen für Managed DevOps-Pools
Artikel
Sie können die Sicherheitseinstellung für verwaltete DevOps-Pools während der Poolerstellung mithilfe der Registerkarte "Sicherheit " und nach der Poolerstellung mithilfe des Bereichs "Sicherheitseinstellungen " konfigurieren.
Konfigurieren des Organisationszugriffs
Be default, Managed DevOps Pools are configured for a single organization, with access to the pool granted to all projects in the organization. Sie können optional den Zugriff auf bestimmte Projekte in der Organisation einschränken und bei Bedarf Zugriff auf weitere Organisationen gewähren.
Standardmäßig sind verwaltete DevOps-Pools für die Verwendung 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 "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. Wählen Sie "Nein " aus, um eine Liste von Projekten anzugeben, um einzuschränken, welche Projekte in Ihrer Organisation den Pool verwenden können.
Organisationen werden in der organizationProfile Eigenschaft der Ressource "Managed DevOps Pools" konfiguriert.
Der organizationProfile Abschnitt enthält die folgenden Eigenschaften.
Eigenschaft
Beschreibung
organizations
Eine Liste der Organisationen, die Ihren Pool verwenden können. url Gibt die URL der Organisation an, ist eine Liste von Projektnamen, projects die den Pool verwenden können (eine leere Liste unterstützt alle Projekte in der Organisation), und parallelism gibt die Anzahl der Agents an, die von dieser Organisation verwendet werden können. Die Summe der Parallelität für die Organisationen muss mit der Einstellung für maximale Agents für den Pool übereinstimmen.
permissionProfile
Geben Sie die Berechtigung an, die dem Azure DevOps-Pool gewährt wird, wenn sie erstellt wird. Dieser Wert kann nur während der Poolerstellung festgelegt werden. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts. Wenn specificAccounts angegeben, geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an; andernfalls weglassen users. Weitere Informationen finden Sie unter Poolverwaltungsberechtigungen.
kind
Dieser Wert gibt den Typ der Organisation für den Pool an und muss auf .Azure DevOps
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Das folgende Beispiel zeigt ein organization-profile Objekt, das für alle Projekte in der Organisation konfiguriert ist, auf parallelism die fabrikam-tailspin1festgelegt ist.
Der organizationProfile Abschnitt enthält die folgenden Eigenschaften.
Eigenschaft
Beschreibung
AzureDevOps
Dieser Wert ist der Name des in organization-profile definierten Objekts und muss auf .Azure DevOps
organizations
Eine Liste der Organisationen, die Ihren Pool verwenden können. url Gibt die URL der Organisation an, ist eine Liste von Projektnamen, projects die den Pool verwenden können (eine leere Liste unterstützt alle Projekte in der Organisation), und parallelism gibt die Anzahl der Agents an, die von dieser Organisation verwendet werden können. Die Summe der Parallelität für die Organisationen muss mit der Einstellung für maximale Agents für den Pool übereinstimmen.
permissionProfile
Geben Sie die Berechtigung an, die dem Azure DevOps-Pool gewährt wird, wenn sie erstellt wird. Dieser Wert kann nur während der Poolerstellung festgelegt werden. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts. Wenn specificAccounts angegeben, geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an; andernfalls weglassen users. Weitere Informationen finden Sie unter Poolverwaltungsberechtigungen.
Aktivieren Sie "Pool verwenden" in mehreren Organisationen , um Ihren Pool mit mehreren Azure DevOps-Organisationen zu verwenden. Geben Sie für jede Organisation die Projekte an, die den Pool verwenden dürfen, oder lassen Sie es leer, um alle Projekte zuzulassen. Konfigurieren Sie den Parallelismus für jede Organisation, indem Sie angeben, welche Teile der Parallelität durch maximale Agents für den Pool angegeben werden, um sie jeder Organisation zuzuweisen. 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 "Maximale Anzahl von Agents " auf "1" 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.
Wenn Sie eine Fehlermeldung erhalten, The sum of parallelism for all organizations must equal the max concurrency.stellen Sie sicher, dass die Anzahl der maximalen Agents für den Pool mit der Summe der Spalte "Parallelismus " übereinstimmt.
Fügen Sie der Liste der Organisationen weitere Organisationen hinzu, um Ihren Pool für die Verwendung mit mehreren Organisationen zu konfigurieren. Im folgenden Beispiel sind zwei Organisationen konfiguriert. Die erste Organisation ist für die Verwendung von verwalteten DevOps-Pools für alle Projekte konfiguriert, und die zweiten Organisationen sind auf zwei Projekte beschränkt. In diesem Beispiel beträgt die Einstellung für maximale Agents für den Pool vier, und jede Organisation kann zwei dieser vier Agents verwenden.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Fügen Sie der Liste der Organisationen weitere Organisationen hinzu, um Ihren Pool für die Verwendung mit mehreren Organisationen zu konfigurieren. Im folgenden Beispiel sind zwei Organisationen konfiguriert. Die erste Organisation ist für die Verwendung von verwalteten DevOps-Pools für alle Projekte konfiguriert, und die zweiten Organisationen sind auf zwei Projekte beschränkt. In diesem Beispiel beträgt die Einstellung für maximale Agents für den Pool vier, und jede Organisation kann zwei dieser vier Agents verwenden.
Wenn Ihre Tests eine interaktive Anmeldung für UI-Tests benötigen, aktivieren Sie die interaktive Anmeldung, indem Sie die Einstellung "EnableInteractiveMode " aktivieren.
Der interaktive Modus ist im osProfile Abschnitt der fabricProfile Eigenschaft konfiguriert. Legen Sie die Einstellung logonType fest Interactive , um den interaktiven Modus zu aktivieren oder Service den interaktiven Modus zu deaktivieren.
Der interaktive Modus wird mithilfe der logonType Eigenschaft im Abschnitt im osProfilefabric-profile Parameter beim Erstellen oder Aktualisieren eines Pools konfiguriert.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
Das folgende Beispiel zeigt den osProfile Abschnitt der fabric-profile.json Datei mit Interactive aktivierter Modus.
Im Rahmen des Erstellungsprozesses für verwalteten DevOps-Pool wird ein Agent-Pool auf Organisationsebene in Azure DevOps erstellt. Die Einstellung "Poolverwaltungsberechtigungen " gibt an, welche Benutzer der Administratorrolle des neu erstellten Azure DevOps-Pools gewährt 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.
Ersteller nur – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen des Agentpools auf "Aus " festgelegt. Creator ist nur die Standardeinstellung.
Erben Sie Berechtigungen von Projekt – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen für den Agentpool auf "Ein " festgelegt.
Bestimmte Konten – Geben Sie die Konten an, die als Administratoren des erstellten Agentpools in Azure DevOps hinzugefügt werden sollen. Standardmäßig wird der Ersteller des verwalteten DevOps-Pools zur Liste hinzugefügt.
Hinweis
Die Einstellung "Poolverwaltungsberechtigungen " wird auf der Registerkarte "Sicherheit " beim Erstellen des Pools konfiguriert und nach der Erstellung des Pools nicht in den Sicherheitseinstellungen angezeigt. 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.
Poolverwaltungsberechtigungen werden in der permissionsProfile Eigenschaft des organizationProfile Abschnitts der Ressource "Managed DevOps Pools" konfiguriert.
Die permissionProfile Eigenschaft kann nur während der Poolerstellung festgelegt werden. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts.
CreatorOnly – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen für den Agentpool auf "Aus " festgelegt. Creator ist nur die Standardeinstellung.
Inherit – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen für den Agentpool auf "Ein " festgelegt.
SpecificAccounts – Geben Sie die Konten an, die als Administratoren des erstellten Agentpools in Azure DevOps hinzugefügt werden sollen. Standardmäßig wird der Ersteller des verwalteten DevOps-Pools zur Liste hinzugefügt. Geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an, andernfalls weg.users
Die permissionProfile Eigenschaft kann nur während der Poolerstellung festgelegt werden. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts.
CreatorOnly – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen für den Agentpool auf "Aus " festgelegt. Creator ist nur die Standardeinstellung.
Inherit – Der Benutzer, der den verwalteten DevOps-Pool erstellt hat, wird als Administrator des Azure DevOps-Agentpools hinzugefügt, und die Vererbung wird in den Sicherheitseinstellungen für den Agentpool auf "Ein " festgelegt.
SpecificAccounts – Geben Sie die Konten an, die als Administratoren des erstellten Agentpools in Azure DevOps hinzugefügt werden sollen. Standardmäßig wird der Ersteller des verwalteten DevOps-Pools zur Liste hinzugefügt. Geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an, andernfalls weg.users
Verwaltete DevOps-Pools bieten die Möglichkeit, Zertifikate während der Bereitstellung aus einem Azure Key Vault abzurufen, was bedeutet, dass die Zertifikate bereits zum Zeitpunkt der Ausführung Ihrer Azure DevOps-Pipelines auf dem Computer vorhanden sind. Um dieses Feature zu verwenden, müssen Sie eine Identität in Ihrem Pool konfigurieren, und diese Identität muss über Berechtigungen für Schlüsseltresorgeheimnisse verfügen, um den geheimen Schlüssel aus Ihrem Key Vault abzurufen. Informationen zum Zuweisen Ihrer Identität zur Rolle " Schlüsseltresorgeheimnisse" finden Sie unter Bereitstellen des Zugriffs auf Schlüsseltresorschlüssel, Zertifikate und geheime Schlüssel mit einer rollenbasierten Azure-Zugriffssteuerung.
Hinweis
api-version 2024-10-19Wenn Sie dieses Feature verwenden, können Sie nur eine einzelne Identität im Pool verwenden. Unterstützung für mehrere Identitäten wird in Kürze hinzugefügt.
Es kann nur eine Identität verwendet werden, um geheime Schlüssel aus dem Key Vault abzurufen.
Die Key Vault-Integration ist in "Einstellungssicherheit" > konfiguriert.
Hinweis
Key Vault-Integrationseinstellungen können erst konfiguriert werden, nachdem der Pool erstellt wurde. Key Vault-Integrationseinstellungen können während der Poolerstellung nicht konfiguriert werden und werden während der Poolerstellung nicht auf der Registerkarte "Sicherheit " angezeigt.
Azure Key Vault ist im osProfile Abschnitt der fabricProfile Eigenschaft konfiguriert. Legen Sie fest secretManagementSettings , dass sie auf das gewünschte Zertifikat zugreifen kann.
Azure Key Vault wird im osProfile Abschnitt der fabricProfile Eigenschaft beim Erstellen oder Aktualisieren eines Pools konfiguriert. Legen Sie fest secretManagementSettings , dass sie auf das gewünschte Zertifikat zugreifen kann.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
Das folgende Beispiel zeigt den osProfile Abschnitt der fabric-profile.json Datei mit secretsManagementSettingskonfigurierter Konfiguration.
Zertifikate, die mithilfe des SecretManagementSettings Pools 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 eine beliebige Azure DevOps-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 Key Vault abgerufen werden kann.
Für Windows darf der Speicherort des Zertifikatspeichers entweder auf LocalMachine oder CurrentUserfestgelegt werden. 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 in der Dokumentation für die Azure VMSS Key Vault-Erweiterung für Windows.
Bei Linux kann der Zertifikatspeicherort ein beliebiges Verzeichnis auf dem Computer sein, und die Zertifikate werden heruntergeladen und mit diesem Speicherort synchronisiert. Einzelheiten zu Standardeinstellungen und geheimem Verhalten finden Sie in der Dokumentation für die Azure VMSS Key Vault-Erweiterung für Linux.