Découvrez comment configurer les paramètres de sécurité pour les pools DevOps managés. Il existe deux façons de configurer les paramètres de sécurité :
- Lorsque vous créez un pool à l’aide de l’onglet Sécurité
- Après avoir créé un pool à l’aide du volet Paramètres de sécurité
Par défaut, les pools que vous créez avec des pools DevOps managés sont configurés pour tous les projets d’une seule organisation. Vous pouvez éventuellement limiter l’accès à des projets spécifiques dans l’organisation, et vous pouvez également accorder l’accès à d’autres organisations.
Si vous configurez votre pool et accordez l’accès à tous les projets, le pool est ajouté aux projets pour lesquels vous disposez des autorisations appropriées. Si vous configurez votre pool et accordez l’accès à des projets spécifiques, vous devez avoir l’autorisation d’ajouter le pool dans tous les projets désignés, ou la création du pool échoue.
Pour afficher les autorisations requises pour configurer des pools DevOps managés dans votre organisation et vos projets, consultez Conditions préalables : Vérifier les autorisations Azure DevOps.
Utiliser un pool avec une seule organisation
Par défaut, les pools DevOps managés sont configurés avec une seule organisation Azure DevOps que vous spécifiez lors de la création du pool. Lorsque votre pool est configuré pour une seule organisation, le nom de l’organisation s’affiche et est configuré dans les paramètres du pool .
Par défaut, le paramètre Ajouter un pool à tous les projets est défini sur Oui et l’accès au pool DevOps géré est accordé à tous les projets de l’organisation. Pour limiter les projets de votre organisation qui peuvent utiliser le pool, sélectionnez Non, puis spécifiez quels projets doivent avoir accès.
Vous pouvez configurer des organisations dans la organizationProfile propriété de la ressource Pools DevOps managés.
{
"$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"
}
}
]
}
La organizationProfile section a les propriétés suivantes.
| Propriété |
Descriptif |
organizations |
Liste des organisations qui peuvent utiliser votre pool. La url propriété spécifie l’URL de l’organisation. La projects propriété est une liste de noms de projets qui peuvent utiliser le pool (une liste vide prend en charge tous les projets de l’organisation). La parallelism propriété spécifie le nombre d’agents que l’organisation peut utiliser. La somme du parallélisme pour les organisations doit correspondre au paramètre maximum des agents pour le pool. |
permissionProfile |
Cette valeur spécifie l’autorisation que vous accordez au pool Azure DevOps lors de sa création. Vous ne pouvez définir cette valeur que lorsque vous créez un pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts. Si vous spécifiez specificAccounts, fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la propriété users. Sinon, omettez users. Pour plus d’informations, consultez autorisations d’administration du pool. |
kind |
Cette valeur spécifie le type d’organisation du pool et doit être définie sur Azure DevOps. |
Vous pouvez configurer des organisations dans le organization-profile paramètre lorsque vous créez ou mettez à jour un pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
L’exemple suivant montre un objet organization-profile configuré pour tous les projets de l'organisation fabrikam-tailspin avec la valeur parallelism définie à 1.
{
"AzureDevOps":
{
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 1
}
]
}
}
La organizationProfile section a les propriétés suivantes.
| Propriété |
Descriptif |
AzureDevOps |
Cette valeur est le nom de l’objet défini dans organization-profile et doit être défini sur Azure DevOps. |
organizations |
Liste des organisations qui peuvent utiliser votre pool.
openAccess spécifie si les pools DevOps managés configurent l’accès ouvert pour le pool lors de la création du pool. La url propriété spécifie l’URL de l’organisation. La projects propriété est une liste de noms de projets qui peuvent utiliser le pool (une liste vide prend en charge tous les projets de l’organisation). La parallelism propriété spécifie le nombre d’agents que cette organisation peut utiliser. La somme du parallélisme pour les organisations doit correspondre au paramètre maximum des agents pour le pool. |
permissionProfile |
Cette propriété spécifie l’autorisation que vous accordez au pool Azure DevOps lors de sa création. Vous ne pouvez définir cette valeur que lorsque vous créez un pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts. Si vous spécifiez specificAccounts, fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la propriété users. Sinon, omettez users. Pour plus d’informations, consultez autorisations d’administration du pool. |
Vous pouvez configurer des organisations dans la organizationProfile propriété de la ressource Pools DevOps managés.
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'
}
}
}
La organizationProfile section a les propriétés suivantes.
| Propriété |
Descriptif |
organizations |
Liste des organisations qui peuvent utiliser votre pool. La url propriété spécifie l’URL de l’organisation. La projects propriété est une liste de noms de projets qui peuvent utiliser le pool (une liste vide prend en charge tous les projets de l’organisation). La parallelism propriété spécifie le nombre d’agents que cette organisation peut utiliser. La somme du parallélisme pour les organisations doit correspondre au paramètre maximum des agents pour le pool. |
permissionProfile |
Cette propriété spécifie l’autorisation que vous accordez au pool Azure DevOps lors de sa création. Vous ne pouvez définir cette valeur que lorsque vous créez un pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts. Si specificAccounts est spécifié, fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la propriété users. Sinon, omettez users. Pour plus d’informations, consultez autorisations d’administration du pool. |
kind |
Cette valeur spécifie le type d’organisation du pool et doit être définie sur Azure DevOps. |
Utiliser un pool dans plusieurs organisations
Pour utiliser votre pool avec plusieurs organisations Azure DevOps, activez l’utilisation du pool dans plusieurs organisations. Pour chaque organisation, spécifiez les projets autorisés à utiliser le pool ou laissez ce champ vide pour autoriser tous les projets. Configurez le parallélisme pour chaque organisation en spécifiant quelle partie de la simultanéité, selon la valeur de Agents maximum pour le pool, allouer à chaque organisation. La somme du parallélisme pour toutes les organisations doit être égale à la concurrence maximale du pool. Par exemple, si le nombre maximal d’agents est défini sur cinq, la somme du parallélisme pour les organisations spécifiées doit être de cinq. Si la valeur maximale des agents est définie sur une, vous pouvez utiliser le pool avec une seule organisation.
Dans l’exemple suivant, le pool est configuré pour être disponible pour les projets FabrikamResearch et FabrikamTest dans l’organisation fabrikam-tailspin , ainsi que pour tous les projets de l’organisation fabrikam-blue .
Si vous recevez une erreur telle que The sum of parallelism for all organizations must equal the max concurrency, vérifiez que le nombre maximal d’agents pour le pool correspond à la somme de la colonne Parallélisme .
Pour configurer votre pool afin que plusieurs organisations puissent l’utiliser, ajoutez d’autres organisations à la liste des organisations. L’exemple suivant comporte deux organisations configurées. La première organisation est configurée pour utiliser des pools DevOps managés pour tous les projets, et la deuxième organisation peut l’utiliser avec seulement deux projets. Dans cet exemple, le paramètre maximum d’agents pour le pool est de quatre, et chaque organisation peut utiliser deux de ces quatre agents.
"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"
}
Vous pouvez configurer des organisations dans le organization-profile paramètre lorsque vous créez ou mettez à jour un pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Pour configurer votre pool afin que plusieurs organisations puissent l’utiliser, ajoutez d’autres organisations à la liste des organisations. L’exemple suivant comporte deux organisations configurées. La première organisation est configurée pour utiliser des pools DevOps managés pour tous les projets, et la deuxième organisation peut l’utiliser avec seulement deux projets. Dans cet exemple, le paramètre maximum d’agents pour le pool est de quatre, et chaque organisation peut utiliser deux de ces quatre agents.
{
"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
}
]
}
}
Pour configurer votre pool afin que plusieurs organisations puissent l’utiliser, ajoutez d’autres organisations à la liste des organisations. L’exemple suivant comporte deux organisations configurées. La première organisation est configurée pour utiliser des pools DevOps managés pour tous les projets, et la deuxième organisation peut l’utiliser avec seulement deux projets. Dans cet exemple, le paramètre maximum d’agents pour le pool est de quatre, et chaque organisation peut utiliser deux de ces quatre agents.
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'
}
Pour configurer l’accès ouvert pour les pipelines, vous devez disposer des autorisations suivantes en plus des autorisations décrites dans Conditions préalables : vérifiez les autorisations Azure DevOps :
Par défaut, vous devez autoriser explicitement chaque définition de pipeline à s’exécuter dans un pool d’agents auto-hébergé (comme un pool créé à l’aide de pools DevOps managés) avant de s’exécuter pour la première fois dans ce pool.
Azure DevOps fournit les modes suivants pour autoriser les pipelines à s’exécuter dans un pool d’agents.
-
Autoriser des pipelines spécifiques (par défaut) : autorisez individuellement des pipelines spécifiques à partir d’un projet Azure DevOps à exécuter dans le pool.
-
Accès ouvert : configurez un pool d’agents au niveau du projet pour qu’il soit disponible pour tous les pipelines de ce projet.
Activez Autoriser l’exécution de tous les pipelines sur le pool sans approbation (accès ouvert) pour configurer le paramètre de pool d’agents Open access dans Azure DevOps lorsque vous créez le pool.
Vous pouvez configurer le paramètre Autoriser l’exécution de tous les pipelines sur le pool sans approbation (accès ouvert) dans les pools DevOps managés uniquement lorsque vous créez le pool. Une fois le pool créé, vous pouvez afficher et configurer Open Access sur le pool d’agents correspondant dans Azure DevOps pour chaque projet qui utilise le pool.
Pour configurer l’accès au pool à partir de tous les pipelines dans les projets désignés, activez Autoriser l’exécution de tous les pipelines sur le pool sans approbation (accès ouvert).
- Si l’option Ajouter un pool à tous les projets est définie sur Oui, les pools DevOps managés configurent l’accès ouvert pour tous les pipelines de tous les projets.
- Si l’option Ajouter un pool à tous les projets est définie sur Non, les pools DevOps managés configurent l’accès ouvert pour tous les pipelines dans uniquement les projets répertoriés.
Si vous activez Utilisation du pool dans plusieurs organisations, vous pouvez spécifier Accès ouvert individuellement pour chaque organisation.
Remarque
Le paramètre d’accès ouvert est présent lorsque vous utilisez api-version 2025-01-21 et versions ultérieures.
Vous pouvez configurer des organisations dans la organizationProfile propriété de la ressource Pools DevOps managés. L’exemple suivant a deux organisations configurées :
- L’organisation
fabrikam-tailspin est configurée avec Open Access sur tous les projets.
- L’organisation
fabrikam-prime est configurée pour la disponibilité avec deux projets, avec l’option Open Access activée uniquement sur ces deux projets.
"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"
}
Vous pouvez configurer Open Access uniquement lorsque vous créez un pool. Pour modifier le paramètre Open access après avoir créé un pool (y compris l’ajout ou la suppression de projets de votre configuration de pools DevOps managés), vous devez configurer manuellement Open Access sur le pool d’agents correspondant dans Azure DevOps pour chaque projet qui utilise le pool.
Vous pouvez configurer le openAccess paramètre dans le organization-profile paramètre lorsque vous créez un pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
L’exemple suivant orgaization-profile a deux organisations configurées :
- L’organisation
fabrikam-tailspin est configurée avec Open Access sur tous les projets.
- L’organisation
fabrikam-prime est configurée pour la disponibilité avec deux projets, avec l’option Open Access activée uniquement sur ces deux projets.
{
"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
}
]
}
}
Vous pouvez configurer Open Access uniquement lorsque vous créez un pool. Pour modifier le paramètre Open access après avoir créé un pool (y compris l’ajout ou la suppression de projets de votre configuration de pools DevOps managés), vous devez configurer manuellement Open Access sur le pool d’agents correspondant dans Azure DevOps pour chaque projet qui utilise le pool.
Remarque
Le paramètre Open Access est présent lors de l’utilisation api-version 2025-01-21 et des versions ultérieures.
Vous pouvez configurer des organisations dans la organizationProfile propriété de la ressource Pools DevOps managés. L’exemple suivant a deux organisations configurées :
- L’organisation
fabrikam-tailspin est configurée avec Open Access sur tous les projets.
- L’organisation
fabrikam-prime est configurée pour la disponibilité avec deux projets, avec l’option Open Access activée uniquement sur ces deux projets.
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'
}
Vous pouvez configurer Open Access uniquement lorsque vous créez un pool. Pour modifier le paramètre Open access après avoir créé un pool (y compris l’ajout ou la suppression de projets de votre configuration de pools DevOps managés), vous devez configurer manuellement Open Access sur le pool d’agents correspondant dans Azure DevOps pour chaque projet qui utilise le pool.
Si vous essayez d’exécuter un pipeline qui n’est pas autorisé à accéder à votre pool d’agents, vous recevez une erreur telle que « Ce pipeline a besoin d’autorisation pour accéder à une ressource avant que cette exécution puisse continuer ». Vous pouvez résoudre ce problème en configurant l’accès ouvert, comme décrit dans la section précédente, ou en autorisant explicitement l’exécution du pipeline dans le pool d’agents.
Si vos tests ont besoin d’une connexion interactive pour les tests d’interface utilisateur, activez la connexion interactive en activant le paramètre EnableInteractiveMode .
Vous pouvez configurer le mode interactif dans la osProfile section de la fabricProfile propriété. Définissez cette option logonTypeInteractive pour activer le mode interactif ou Service désactiver le mode interactif.
{
"$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"
}
}
]
}
Vous pouvez configurer le mode interactif à l’aide de la logonType propriété dans la osProfilefabric-profile section du paramètre lorsque vous créez ou mettez à jour un pool.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
L’exemple suivant montre la osProfile section du fichier fabric-profile.json avec Interactive le mode activé.
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {...},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
Le mode interactif est configuré dans la osProfile section de la fabricProfile propriété. Définissez cette option logonTypeInteractive pour activer le mode interactif ou Service désactiver le mode interactif.
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'
}
}
}
Dans le cadre du processus de création de pool DevOps managé, un pool d’agents est créé au niveau de l’organisation Azure DevOps et un pool d’agents au niveau du projet est créé dans chaque projet désigné. Le paramètre d’autorisations d’administration du pool spécifie les utilisateurs auxquels les utilisateurs ont accordé l’autorisation d’administrateur sur les pools d’agents nouvellement créés dans Azure DevOps. Pour afficher et gérer les autorisations du pool d’agents Azure DevOps après la création du pool DevOps managé, consultez Créer et gérer des pools d’agents : Sécurité des pools d’agents.
-
Créateur uniquement : ce paramètre ajoute l’utilisateur qui a créé le pool DevOps managé en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Désactivé dans les paramètres de sécurité du pool d’agents.
Creator est uniquement le paramètre par défaut.
-
Hériter des autorisations du projet : ce paramètre ajoute l’utilisateur qui a créé le pool DevOps managé en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Activé dans les paramètres de sécurité du pool d’agents.
-
Comptes spécifiques : vous pouvez utiliser ce paramètre pour spécifier les comptes que vous souhaitez ajouter en tant qu’administrateurs du pool d’agents dans Azure DevOps. Par défaut, le créateur du pool est inclus.
Vous pouvez configurer le paramètre d’autorisations d’administration du pool sous l’onglet Sécurité lorsque vous créez le pool. Il n’est pas affiché dans les paramètres de sécurité une fois le pool créé. Pour afficher et gérer les autorisations du pool d’agents Azure DevOps après avoir créé le pool, consultez Créer et gérer des pools d’agents - Sécurité des pools d’agents.
Vous pouvez configurer des autorisations d’administration de pool dans la propriété permissionsProfile de la section organizationProfile de la ressource des pools DevOps gérés.
{
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
},
"kind": "AzureDevOps"
}
Vous ne pouvez définir la permissionProfile propriété que lorsque vous créez le pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts.
-
CreatorOnly: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps managé en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Désactivé dans les paramètres de sécurité du pool d’agents.
Creator est uniquement le paramètre par défaut.
-
Inherit: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps géré en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Activé dans les paramètres de sécurité du pool d’agents.
-
SpecificAccounts: vous pouvez utiliser ce paramètre pour spécifier les comptes que vous souhaitez ajouter en tant qu’administrateurs du pool d’agents dans Azure DevOps. Par défaut, le créateur du pool est inclus.
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
},
"kind": "AzureDevOps"
}
Vous pouvez configurer les autorisations d’administration du pool dans le organization-profile paramètre lorsque vous créez un pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
{
"AzureDevOps":
{
"organizations": [...],
"permissionProfile": {
"kind": "CreatorOnly"
}
}
}
Vous ne pouvez définir la permissionProfile propriété que lorsque vous créez le pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts.
-
CreatorOnly: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps managé en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Désactivé dans les paramètres de sécurité du pool d’agents.
Creator est uniquement le paramètre par défaut.
-
Inherit: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps géré en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Activé dans les paramètres de sécurité du pool d’agents.
-
SpecificAccounts: vous pouvez utiliser ce paramètre pour spécifier les comptes que vous souhaitez ajouter en tant qu’administrateurs du pool d’agents dans Azure DevOps. Par défaut, le créateur du pool est inclus. Fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété. Sinon, omettez users.
{
"AzureDevOps" : {
"organizationProfile": {
"organizations": [...],
"permissionProfile": {
"kind": "SpecificAccounts",
"users" : ["User1@fabrikam.com", "User2@fabrikam.com" ]
}
}
}
}
Vous pouvez configurer des autorisations d’administration de pool dans la propriété permissionsProfile de la section organizationProfile de la ressource des pools DevOps gérés.
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'CreatorOnly'
}
kind: 'AzureDevOps'
}
Vous ne pouvez définir la permissionProfile propriété que lorsque vous créez le pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts.
-
CreatorOnly: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps managé en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Désactivé dans les paramètres de sécurité du pool d’agents.
Creator est uniquement le paramètre par défaut.
-
Inherit: ce paramètre ajoute l’utilisateur qui a créé le pool DevOps géré en tant qu’administrateur du pool d’agents Azure DevOps et définit l’héritagesur Activé dans les paramètres de sécurité du pool d’agents.
-
SpecificAccounts: vous pouvez utiliser ce paramètre pour spécifier les comptes que vous souhaitez ajouter en tant qu’administrateurs du pool d’agents dans Azure DevOps. Par défaut, le créateur du pool est inclus. Fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété. Sinon, omettez users.
organizationProfile: {
organizations: [...]
permissionProfile: {
kind: 'SpecificAccounts'
users: ['User1@fabrikam.com', 'User2@fabrikam.com']
}
kind: 'AzureDevOps'
}
Les pools DevOps managés offrent la possibilité d’extraire des certificats à partir d’un coffre de clés Azure pendant l’approvisionnement. Les certificats existent déjà sur l’ordinateur au moment où il exécute vos pipelines.
Pour utiliser cette fonctionnalité, vous devez :
Configurez une identité sur votre pool. Vous devez accorder à cet utilisateur des secrets Key Vault d’identité l’autorisation d’extraire le secret de votre coffre de clés. Pour affecter votre identité au rôle Utilisateur des secrets Key Vault, consultez Donner accès aux clés, certificats et secrets d'Azure Key Vault avec un contrôle d’accès basé sur les rôles Azure.
Le principal qui configure les paramètres d’intégration du coffre de clés (votre compte si vous configurez les paramètres du coffre de clés) doit disposer de l’attribution de rôle Utilisateur du certificat Key Vault sur le coffre de clés où sont stockés les certificats.
Pour appliquer l’isolation réseau de votre instance Azure Key Vault pour autoriser uniquement l’accès aux ressources autorisées, vous devez ajouter les adresses IP suivantes à votre liste d’autorisation Azure Key Vault. Les plages d’adresses IP suivantes se trouvent dans une balise de service Azure nommée DevOpsInfrastructure.
| Emplacement |
Plage d’adresses IP |
| australiaeast |
4.198.194.192/28 |
| brésilsouth |
74.163.143.32/28 |
| canadacentral |
130.107.66.0/28 |
| centralindia |
98.70.255.112/28 |
| centralus |
72.152.33.16/28 |
| eastus2 |
72.153.21.192/28 |
| allemagnewestcentral |
131.189.121.128/28 |
| northeurope |
72.145.24.48/28 |
| sud-estasia |
135.171.33.48/28 |
| suissenorth |
74.161.82.192/28 |
| uksouth |
131.145.107.64/28 |
| westus3 |
57.154.125.208/28 |
Remarque
À partir de api-version 2025-01-21, si vous utilisez cette fonctionnalité, vous ne pouvez utiliser qu’une seule identité sur le pool.
Vous ne pouvez utiliser qu’une seule identité pour récupérer des secrets à partir du coffre de clés.
Vous définissez les paramètres de certificat des pools DevOps gérés au niveau du pool, et certains des paramètres sont spécifiques pour Windows ou Linux. Si votre flux de travail nécessite à la fois des images Linux et Windows, vous devrez peut-être les diviser en plusieurs pools si vous ne trouvez pas un ensemble commun de paramètres de certificat qui fonctionnent pour Windows et Linux.
Les paramètres suivants configurent les certificats récupérés à partir de votre coffre de clés :
-
Certificats (
observedCertificates) : ce paramètre spécifie les certificats à extraire de votre coffre de clés et installés sur toutes les machines de votre pool.
-
Emplacement du magasin de certificats (
certificateStoreLocation) : ce paramètre spécifie l’emplacement d’installation des certificats sur votre agent.
-
Agents Windows : Spécifier
LocalMachine ou CurrentUser.
-
Agents Linux : la définition de l’emplacement du magasin de certificats est prise en charge uniquement sur les distributions Ubuntu. Spécifiez le chemin d’accès du disque pour stocker les certificats (par exemple).
/var/lib/waagent/Microsoft.Azure.KeyVault/app1
Pour les distributions Ubuntu, si vous spécifiez l’emplacement du magasin approuvé (par exemple), /usr/local/share/ca-certificatesle certificat est ajouté à ce magasin de certificats en tant que racine. Pour plus d’informations, consultez Installer un certificat d’autorité de certification racine dans le magasin de confiance.
-
Nom du magasin de certificats (
certificateStoreName)
-
Agents Windows : ce paramètre spécifie le nom du magasin de certificats. Il s’agit soit
My (magasin de certificats local, qui est la valeur par défaut si aucun nom n’est spécifié) ou Root (emplacement racine approuvé).
-
Agents Linux : ce paramètre n’est pas utilisé sur les agents Linux.
-
Clés privées exportables (
keyExportable) : ce paramètre spécifie si la clé des certificats est exportable. La valeur par défaut est false.
Vous pouvez configurer l’intégration du coffre de clés dans Paramètres>Sécurité.
Vous pouvez configurer les paramètres d’intégration du coffre de clés uniquement après avoir créé le pool. Vous ne pouvez pas configurer les paramètres d’intégration du coffre de clés lorsque vous créez le pool. Ils ne sont pas affichés sous l’onglet Sécurité pendant la création du pool.
Vous pouvez configurer Azure Key Vault dans la osProfile section de la fabricProfile propriété. Définissez secretManagementSettings pour pouvoir accéder au certificat souhaité.
Remarque
La osProfile.certificateStoreName propriété est disponible uniquement dans apiVersion 2025-01-21 et versions ultérieures.
{
"$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"
}
}
]
}
Vous pouvez configurer Azure Key Vault dans la osProfile section de la fabricProfile propriété lorsque vous créez ou mettez à jour un pool. Définissez la secretManagementSettings valeur pour pouvoir accéder au certificat souhaité.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
L’exemple suivant montre la osProfile section du fichier fabric-profile.json avec secretsManagementSettings configuré.
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "LocalMachine",
"observedCertificates": [
"https://<keyvault-uri>/secrets/<certificate-name>"
],
"keyExportable": false
},
"logonType": "Interactive"
},
"storageProfile": {...}
}
}
Vous pouvez configurer Azure Key Vault dans la osProfile section de la fabricProfile propriété. Définissez secretManagementSettings pour pouvoir accéder au certificat souhaité.
Remarque
La osProfile.certificateStoreName propriété est disponible uniquement dans apiVersion 2025-01-21 et versions ultérieures.
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'
}
}
}
Les certificats récupérés à l’aide de SecretManagementSettings sur votre pool sont automatiquement synchronisés avec les versions les plus récentes publiées dans le magasin de clés. Ces secrets se trouvent sur l’ordinateur au moment où il exécute son premier pipeline, ce qui signifie que vous pouvez gagner du temps et supprimer des tâches pour récupérer des certificats.
Important
L’approvisionnement de vos machines virtuelles d’agent échoue si le secret ne peut pas être récupéré à partir du coffre de clés en raison d’autorisations ou d’un problème réseau.
Pour Windows, vous pouvez définir la valeur d’emplacement du magasin de certificats sur LocalMachine ou .CurrentUser Ce paramètre garantit que le secret est installé à cet emplacement sur l’ordinateur. Pour un comportement spécifique du processus de récupération des secrets, voir l’extension Azure Key Vault pour Windows.
Pour Linux, vous pouvez définir la valeur d’emplacement du magasin de certificats sur n’importe quel répertoire de l’ordinateur, et les certificats sont téléchargés et synchronisés à cet emplacement. Pour plus d’informations sur les paramètres par défaut et le comportement des secrets, consultez l’extension de machine virtuelle Azure Key Vault pour Linux.
Contenu connexe