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
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.
Sie können Organisationen in der organizationProfile Eigenschaft der Ressource "Managed DevOps Pools" konfigurieren.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 4
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
}
]
}
Der organizationProfile Abschnitt enthält die folgenden Eigenschaften.
| Eigenschaft |
Beschreibung |
organizations |
Eine Liste der Organisationen, die Ihren Pool verwenden können. Die url Eigenschaft gibt die URL der Organisation an. Die projects Eigenschaft ist eine Liste von Projektnamen, die den Pool verwenden können (eine leere Liste unterstützt alle Projekte in der Organisation). Die parallelism Eigenschaft gibt die Anzahl der Agents an, die die Organisation verwenden kann. Die Summe der Parallelität für die Organisationen muss mit der Einstellung für maximale Agents für den Pool übereinstimmen. |
permissionProfile |
Dieser Wert gibt die Berechtigung an, die Sie dem Azure DevOps-Pool gewähren, wenn Sie ihn erstellen. Sie können diesen Wert nur festlegen, wenn Sie einen Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts. Wenn Sie angeben specificAccounts, geben Sie eine einzelne E-Mail-Adresse oder eine Liste von E-Mail-Adressen für die users Eigenschaft an. Andernfalls lassen Sie users weg. Unter Poolverwaltungsberechtigungen finden Sie weitere Informationen. |
kind |
Dieser Wert gibt den Typ der Organisation für den Pool an und muss auf .Azure DevOps |
Sie können Organisationen im organization-profile Parameter konfigurieren, wenn Sie einen Pool erstellen oder aktualisieren .
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 innerhalb der fabrikam-tailspin Organisation konfiguriert ist, wobei der parallelism Wert auf 1 festgelegt ist.
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 1
}
]
}
}
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.
openAccess Gibt an, ob verwaltete DevOps-Pools den offenen Zugriff für den Pool während der Poolerstellung konfigurieren. Die url Eigenschaft gibt die URL der Organisation an. Die projects Eigenschaft ist eine Liste von Projektnamen, die den Pool verwenden können (eine leere Liste unterstützt alle Projekte in der Organisation). Die parallelism Eigenschaft gibt die Anzahl der Agents an, die diese Organisation verwenden kann. Die Summe der Parallelität für die Organisationen muss mit der Einstellung für maximale Agents für den Pool übereinstimmen. |
permissionProfile |
Diese Eigenschaft gibt die Berechtigung an, die Sie dem Azure DevOps-Pool gewähren, wenn Sie ihn erstellen. Sie können diesen Wert nur festlegen, wenn Sie einen Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts. Wenn Sie angeben specificAccounts, geben Sie eine einzelne E-Mail-Adresse oder eine Liste von E-Mail-Adressen für die users Eigenschaft an. Andernfalls lassen Sie users weg. Unter Poolverwaltungsberechtigungen finden Sie weitere Informationen. |
Sie können Organisationen in der organizationProfile Eigenschaft der Ressource "Managed DevOps Pools" konfigurieren.
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
parallelism: 4
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
}
}
Der organizationProfile Abschnitt enthält die folgenden Eigenschaften.
| Eigenschaft |
Beschreibung |
organizations |
Eine Liste der Organisationen, die Ihren Pool verwenden können. Die url Eigenschaft gibt die URL der Organisation an. Die projects Eigenschaft ist eine Liste von Projektnamen, die den Pool verwenden können (eine leere Liste unterstützt alle Projekte in der Organisation). Die parallelism Eigenschaft gibt die Anzahl der Agents an, die diese Organisation verwenden kann. Die Summe der Parallelität für die Organisationen muss mit der Einstellung für maximale Agents für den Pool übereinstimmen. |
permissionProfile |
Diese Eigenschaft gibt die Berechtigung an, die Sie dem Azure DevOps-Pool gewähren, wenn Sie ihn erstellen. Sie können diesen Wert nur festlegen, wenn Sie einen Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts. Wenn specificAccounts angegeben, geben Sie eine einzelne E-Mail-Adresse oder eine Liste von E-Mail-Adressen für die users Eigenschaft an. Andernfalls lassen Sie users weg. Unter Poolverwaltungsberechtigungen finden Sie weitere Informationen. |
kind |
Dieser Wert gibt den Typ der Organisation für den Pool an und muss auf .Azure DevOps |
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.
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.
Um Ihren Pool so zu konfigurieren, dass mehrere Organisationen ihn verwenden können, fügen Sie der Organisationsliste weitere Organisationen hinzu. Im folgenden Beispiel sind zwei Organisationen konfiguriert. Die erste Organisation ist so konfiguriert, dass verwaltete DevOps-Pools für alle Projekte verwendet werden, und die zweite Organisation kann sie nur mit zwei Projekten verwenden. 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.
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
Sie können Organisationen im organization-profile Parameter konfigurieren, wenn Sie einen Pool erstellen oder aktualisieren .
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Um Ihren Pool so zu konfigurieren, dass mehrere Organisationen ihn verwenden können, fügen Sie der Organisationsliste weitere Organisationen hinzu. Im folgenden Beispiel sind zwei Organisationen konfiguriert. Die erste Organisation ist so konfiguriert, dass verwaltete DevOps-Pools für alle Projekte verwendet werden, und die zweite Organisation kann sie nur mit zwei Projekten verwenden. 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.
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
]
}
}
Um Ihren Pool so zu konfigurieren, dass mehrere Organisationen ihn verwenden können, fügen Sie der Organisationsliste weitere Organisationen hinzu. Im folgenden Beispiel sind zwei Organisationen konfiguriert. Die erste Organisation ist so konfiguriert, dass verwaltete DevOps-Pools für alle Projekte verwendet werden, und die zweite Organisation kann sie nur mit zwei Projekten verwenden. 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.
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
parallelism: 2
}
{
url: 'https://dev.azure.com/fabrikam-prime'
projects: ['fabrikam-dev', 'fabrikam-test']
parallelism: 2
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
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.
- 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.
Hinweis
Die Einstellung Offener Zugriff ist vorhanden, wenn Sie api-version 2025-01-21 und höher verwenden.
Sie können Organisationen in der organizationProfile Eigenschaft der Ressource "Managed DevOps Pools" konfigurieren. Im folgenden Beispiel sind zwei Organisationen konfiguriert:
- Die
fabrikam-tailspin Organisation ist mit Open Access für alle Projekte konfiguriert.
- Die
fabrikam-prime Organisation ist für die Verfügbarkeit mit zwei Projekten konfiguriert, wobei der Open-Zugriff nur für diese beiden Projekte aktiviert ist.
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"openAccess": true,
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"openAccess": true,
"parallelism": 2
}
],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
Sie können den Open-Zugriff nur konfigurieren, wenn Sie einen Pool erstellen. Um die Einstellung " Offener Zugriff" zu ändern, nachdem Sie einen Pool erstellt haben (einschließlich des Hinzufügens oder Entfernens von Projekten aus der Konfiguration der verwalteten DevOps-Pools), müssen Sie den Offenen Zugriff für den entsprechenden Agentpool in Azure DevOps für jedes Projekt, das den Pool verwendet, manuell konfigurieren.
Sie können die openAccess Einstellung im organization-profile Parameter konfigurieren, wenn Sie einen Pool erstellen .
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Im folgenden orgaization-profile Beispiel sind zwei Organisationen konfiguriert:
- Die
fabrikam-tailspin Organisation ist mit Open Access für alle Projekte konfiguriert.
- Die
fabrikam-prime Organisation ist für die Verfügbarkeit mit zwei Projekten konfiguriert, wobei der Open-Zugriff nur für diese beiden Projekte aktiviert ist.
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 2
},
{
"url": "https://dev.azure.com/fabrikam-prime",
"projects": [ "fabrikam-dev", "fabrikam-test" ],
"parallelism": 2
}
]
}
}
Sie können den Open-Zugriff nur konfigurieren, wenn Sie einen Pool erstellen. Um die Einstellung "Zugriff öffnen" zu ändern, nachdem Sie einen Pool erstellt haben (einschließlich hinzufügen oder entfernen von Projekten aus ihrer Konfiguration für verwaltete DevOps-Pools), müssen Sie den Open-Zugriff für den entsprechenden Agentpool in Azure DevOps für jedes Projekt, das den Pool verwendet, manuell konfigurieren.
Hinweis
Die Einstellung " Zugriff öffnen " ist bei Verwendung api-version 2025-01-21 und höher vorhanden.
Sie können Organisationen in der organizationProfile Eigenschaft der Ressource "Managed DevOps Pools" konfigurieren. Im folgenden Beispiel sind zwei Organisationen konfiguriert:
- Die
fabrikam-tailspin Organisation ist mit Open Access für alle Projekte konfiguriert.
- Die
fabrikam-prime Organisation ist für die Verfügbarkeit mit zwei Projekten konfiguriert, wobei der Open-Zugriff nur für diese beiden Projekte aktiviert ist.
organizationProfile: {
organizations: [
{
url: 'https://dev.azure.com/fabrikam-tailspin'
projects: []
openAccess: true
parallelism: 2
}
{
url: 'https://dev.azure.com/fabrikam-prime'
projects: ['fabrikam-dev', 'fabrikam-test']
openAccess: true
parallelism: 2
}
]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
Sie können den Open-Zugriff nur konfigurieren, wenn Sie einen Pool erstellen. Um die Einstellung " Offener Zugriff" zu ändern, nachdem Sie einen Pool erstellt haben (einschließlich des Hinzufügens oder Entfernens von Projekten aus der Konfiguration der verwalteten DevOps-Pools), müssen Sie den Offenen Zugriff für den entsprechenden Agentpool in Azure DevOps für jedes Projekt, das den Pool verwendet, manuell 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.
Wenn Ihre Tests eine interaktive Anmeldung für UI-Tests benötigen, aktivieren Sie die interaktive Anmeldung, indem Sie die Einstellung "EnableInteractiveMode" aktivieren.
Sie können den interaktiven Modus im Abschnitt osProfile der fabricProfile Eigenschaft konfigurieren. Legen Sie die Einstellung logonType fest Interactive , um den interaktiven Modus zu aktivieren oder Service den interaktiven Modus zu deaktivieren.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...},
"kind": "Vmss"
}
}
]
}
Sie können den interaktiven Modus mithilfe der logonType Eigenschaft im Abschnitt im osProfilefabric-profile Parameter konfigurieren, wenn Sie einen Pool erstellen oder aktualisieren .
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 aktiviertem Modus.
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
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.
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
fabricProfile: {
sku: {...}
images: [...]
osProfile: {
secretsManagementSettings: {...}
logonType: 'Interactive'
}
storageProfile: {...}
kind: 'Vmss'
}
}
}
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.
-
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.
Sie können Poolverwaltungsberechtigungen in der permissionsProfile Eigenschaft des organizationProfile Abschnitts der Ressource "Managed DevOps Pools" konfigurieren.
{
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
Sie können die permissionProfile Eigenschaft nur festlegen, wenn Sie den Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts.
-
CreatorOnly: 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.
-
Inherit: 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 "Ein " fest.
-
SpecificAccounts: Sie können diese Einstellung verwenden, um die Konten anzugeben, die Sie als Administratoren des Agentpools in Azure DevOps hinzufügen möchten. Standardmäßig ist der Poolersteller enthalten.
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
},
"kind": "AzureDevOps"
}
Sie können poolverwaltungsberechtigungen im organization-profile Parameter konfigurieren, wenn Sie einen Pool erstellen .
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
{
"AzureDevOps":
{
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
}
}
}
Sie können die permissionProfile Eigenschaft nur festlegen, wenn Sie den Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts.
-
CreatorOnly: 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.
-
Inherit: 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 "Ein " fest.
-
SpecificAccounts: Sie können diese Einstellung verwenden, um die Konten anzugeben, die Sie als Administratoren des Agentpools in Azure DevOps hinzufügen möchten. Standardmäßig ist der Poolersteller enthalten. Geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an. Andernfalls lassen Sie users weg.
{
"AzureDevOps" : {
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
}
}
}
}
Sie können Poolverwaltungsberechtigungen in der permissionsProfile Eigenschaft des organizationProfile Abschnitts der Ressource "Managed DevOps Pools" konfigurieren.
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
Sie können die permissionProfile Eigenschaft nur festlegen, wenn Sie den Pool erstellen. Zulässige Werte sind Inherit, CreatorOnly und SpecificAccounts.
-
CreatorOnly: 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.
-
Inherit: 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 "Ein " fest.
-
SpecificAccounts: Sie können diese Einstellung verwenden, um die Konten anzugeben, die Sie als Administratoren des Agentpools in Azure DevOps hinzufügen möchten. Standardmäßig ist der Poolersteller enthalten. Geben Sie eine einzelne E-Mail-Adresse oder eine Liste der E-Mail-Adressen für die users Eigenschaft an. Andernfalls lassen Sie users weg.
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'SpecificAccounts'
users: ['User1@fabrikam.com', 'User2@fabrikam.com']
}
kind: 'AzureDevOps'
}
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.
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.
Sie können Azure Key Vault im osProfile Abschnitt der fabricProfile Eigenschaft konfigurieren. Konfigurieren Sie secretManagementSettings, um auf das gewünschte Zertifikat zugreifen zu können.
Hinweis
Die osProfile.certificateStoreName Eigenschaft ist nur in apiVersion 2025-01-21 und höher verfügbar.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "LocalMachine",
"certificateStoreName": "Root",
"observedCertificates": [
"https://<keyvault-uri>/secrets/<certificate-name>"
],
"keyExportable": false
}
},
"storageProfile": {...},
"kind": "Vmss"
}
}
]
}
Sie können Azure Key Vault im osProfile Abschnitt der fabricProfile Eigenschaft konfigurieren, wenn Sie einen Pool erstellen oder aktualisieren . 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 secretsManagementSettings konfiguriert.
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "LocalMachine",
"observedCertificates": [
"https://<keyvault-uri>/secrets/<certificate-name>"
],
"keyExportable": false
},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
Sie können Azure Key Vault im osProfile Abschnitt der fabricProfile Eigenschaft konfigurieren. Konfigurieren Sie secretManagementSettings, um auf das gewünschte Zertifikat zugreifen zu können.
Hinweis
Die osProfile.certificateStoreName Eigenschaft ist nur in apiVersion 2025-01-21 und höher verfügbar.
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
fabricProfile: {
sku: {...}
images: [...]
osProfile: {
secretsManagementSettings: {
certificateStoreLocation: 'LocalMachine'
certificateStoreName: 'Root'
observedCertificates: 'https://<keyvault-uri>/secrets/<certificate-name>'
keyExportable: false
}
}
kind: 'Vmss'
}
}
}
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.
Für Linux können Sie den Pfad für den Zertifikatsspeicher auf ein beliebiges Verzeichnis auf dem Computer festlegen, und die Zertifikate werden an diesem Ort heruntergeladen und synchronisiert. Einzelheiten zu Standardeinstellungen und geheimem Verhalten finden Sie unter Azure Key Vault virtual machine extension for Linux.
Verwandte Inhalte