Configurer les paramètres de sécurité des pools DevOps managés
Article
Vous pouvez configurer le paramètre de sécurité pour les pools DevOps gérés lors de la création du pool à l’aide de l’onglet Sécurité et après la création du pool à l’aide du volet Paramètres de sécurité .
Configurer l’accès de l’organisation
Par défaut, les pools DevOps managés sont configurés pour une seule organisation, avec l’accès au pool accordé à tous les projets de l’organisation. Vous pouvez éventuellement limiter l’accès à des projets spécifiques dans l’organisation, et vous pouvez accorder l’accès à d’autres organisations si vous le souhaitez.
Par défaut, les pools DevOps managés sont configurés pour une utilisation avec une seule organisation Azure DevOps que vous spécifiez lorsque vous créez le 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, l’ajout d’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. Choisissez Non pour spécifier une liste de projets pour limiter les projets de votre organisation pouvant utiliser le pool.
Les organisations sont configurées dans la organizationProfile propriété de la ressource Pools DevOps managés.
La organizationProfile section a les propriétés suivantes.
Propriété
Description
organizations
Liste des organisations qui peuvent utiliser votre pool. url spécifie l’URL de l’organisation, projects est une liste de noms de projets qui peuvent utiliser le pool (une liste vide prend en charge tous les projets de l’organisation) et parallelism spécifie le nombre d’agents qui peuvent être utilisés par cette organisation. La somme du parallélisme pour les organisations doit correspondre au paramètre maximum des agents pour le pool.
permissionProfile
Spécifiez l’autorisation accordée au pool Azure DevOps lors de sa création. Cette valeur peut être définie uniquement pendant la création du pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts. Si specificAccounts elle est spécifiée, fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété ; 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.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
L’exemple suivant montre un organization-profile objet configuré pour tous les projets de l’organisation dont parallelism la fabrikam-tailspin valeur est définie 1.
La organizationProfile section a les propriétés suivantes.
Propriété
Description
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. url spécifie l’URL de l’organisation, projects est une liste de noms de projets qui peuvent utiliser le pool (une liste vide prend en charge tous les projets de l’organisation) et parallelism spécifie le nombre d’agents qui peuvent être utilisés par cette organisation. La somme du parallélisme pour les organisations doit correspondre au paramètre maximum des agents pour le pool.
permissionProfile
Spécifiez l’autorisation accordée au pool Azure DevOps lors de sa création. Cette valeur peut être définie uniquement pendant la création du pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts. Si specificAccounts elle est spécifiée, fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété ; sinon omettez users. Pour plus d’informations, consultez autorisations d’administration du pool.
Activez l’utilisation du pool dans plusieurs organisations pour utiliser votre pool avec plusieurs organisations Azure DevOps. Pour chaque organisation, spécifiez les projets autorisés à utiliser le pool ou laissez vides pour autoriser tous les projets. Configurez le parallélisme pour chaque organisation en spécifiant quelles parties de l’accès concurrentiel, comme spécifié par les 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 le nombre maximal d’agents est défini sur un, vous ne pouvez utiliser le pool qu’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 .
Ajoutez des organisations supplémentaires à la liste des organisations pour configurer votre pool à utiliser avec plusieurs 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 les deuxièmes organisations sont limitées à 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.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Ajoutez des organisations supplémentaires à la liste des organisations pour configurer votre pool à utiliser avec plusieurs 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 les deuxièmes organisations sont limitées à 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.
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 .
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.
Dans le cadre du processus de création de pool DevOps managé, un pool d’agents au niveau de l’organisation est créé dans Azure DevOps. Le paramètre d’autorisations d’administration du pool spécifie quels utilisateurs ont le rôle d’administrateur du pool Azure DevOps nouvellement créé. 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 : l’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps, et l’héritage est défini sur 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 : l’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps et l’héritage est défini sur Activé dans les paramètres de sécurité du pool d’agents.
Comptes spécifiques : spécifiez les comptes à ajouter en tant qu’administrateurs du pool d’agents créé dans Azure DevOps. Par défaut, le créateur du pool DevOps géré est ajouté à la liste.
Remarque
Le paramètre d’autorisations d’administration du pool est configuré sous l’onglet Sécurité lors de la création du pool et 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 la création du pool DevOps managé, consultez Créer et gérer des pools d’agents - Sécurité des pools d’agents.
Les autorisations d’administration du pool sont configurées dans la permissionsProfile propriété de la section de la organizationProfile ressource Pools DevOps managés.
La permissionProfile propriété peut être définie uniquement pendant la création du pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts.
CreatorOnly - L’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps, et l’héritage est défini sur Désactivé dans les paramètres de sécurité du pool d’agents. Creator est uniquement le paramètre par défaut.
Inherit - L’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps, et l’héritage est défini sur Activé dans les paramètres de sécurité du pool d’agents.
SpecificAccounts - Spécifiez les comptes à ajouter en tant qu’administrateurs du pool d’agents créé dans Azure DevOps. Par défaut, le créateur du pool DevOps géré est ajouté à la liste. Fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété ; sinon omettez users.
La permissionProfile propriété peut être définie uniquement pendant la création du pool. Les valeurs autorisées sont Inherit, CreatorOnly et SpecificAccounts.
CreatorOnly - L’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps, et l’héritage est défini sur Désactivé dans les paramètres de sécurité du pool d’agents. Creator est uniquement le paramètre par défaut.
Inherit - L’utilisateur qui a créé le pool DevOps géré est ajouté en tant qu’administrateur du pool d’agents Azure DevOps, et l’héritage est défini sur Activé dans les paramètres de sécurité du pool d’agents.
SpecificAccounts - Spécifiez les comptes à ajouter en tant qu’administrateurs du pool d’agents créé dans Azure DevOps. Par défaut, le créateur du pool DevOps géré est ajouté à la liste. Fournissez une adresse e-mail unique ou une liste d’adresses e-mail pour la users propriété ; sinon omettez users.
Les pools DevOps managés offrent la possibilité d’extraire des certificats à partir d’un coffre de clés Azure pendant l’approvisionnement, ce qui signifie que les certificats existent déjà sur la machine au moment où ils exécutent vos pipelines Azure DevOps. Pour utiliser cette fonctionnalité, vous devez configurer une identité sur votre pool, et cette identité doit disposer des autorisations utilisateur des secrets Key Vault pour extraire le secret de votre coffre de clés. Pour affecter votre identité au rôle Utilisateur des secrets Key Vault, consultez Fournir l’accès aux clés, certificats et secrets Key Vault avec un contrôle d’accès en fonction du rôle Azure.
Remarque
À compter de api-version 2024-10-19, si vous utilisez cette fonctionnalité, vous ne pouvez utiliser qu’une seule identité sur le pool. La prise en charge de plusieurs identités sera bientôt ajoutée.
Une seule identité peut être utilisée pour récupérer des secrets à partir du coffre de clés.
L’intégration de Key Vault est configurée dans La sécurité des paramètres>.
Remarque
Les paramètres d’intégration key Vault ne peuvent être configurés qu’une fois le pool créé. Les paramètres d’intégration key Vault ne peuvent pas être configurés lors de la création du pool et ne sont pas affichés sous l’onglet Sécurité lors de la création du pool.
Azure Key Vault est configuré dans la osProfile section de la fabricProfile propriété. Définissez la secretManagementSettings valeur pour pouvoir accéder au certificat souhaité.
Azure Key Vault est configuré dans la osProfile section de la propriété lors de la création ou de la fabricProfile mise à jour d’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 configuré secretsManagementSettings.
Les certificats récupérés à l’aide de votre SecretManagementSettings pool sont automatiquement synchronisés avec les versions les plus récentes publiées dans le coffre de clés. Ces secrets se trouvent sur l’ordinateur au moment où il exécute n’importe quel pipeline Azure DevOps, ce qui signifie que vous pouvez gagner du temps et supprimer des tâches pour extraire 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’un problème d’autorisation ou de réseau.
Pour Windows, l’emplacement du magasin de certificats est autorisé à être défini LocalMachine sur ou CurrentUser. Ce paramètre garantit que le secret est installé à cet emplacement sur l’ordinateur. Pour connaître le comportement spécifique du fonctionnement de la récupération des secrets, consultez la documentation relative à l’extension Azure VMSS Key Vault pour Windows.
Pour Linux, l’emplacement du magasin de certificats peut être n’importe quel répertoire sur l’ordinateur, et les certificats seront 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 la documentation relative à l’extension Azure VMSS Key Vault pour Linux.