Partager via


Configurer les paramètres de sécurité des pools DevOps managés

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é

Configurer l’accès de l’organisation

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.

Capture d’écran montrant comment configurer des projets pour une seule organisation.

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 .

Capture d’écran montrant comment configurer plusieurs organisations.

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 .

Configurer l'accès libre aux pipelines de votre pool

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).

Capture d’écran montrant comment configurer l’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.

Capture d’écran montrant comment configurer l’accès ouvert pour plusieurs organisations.

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.

Configurer le mode interactif

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 .

Capture d’écran montrant comment activer le mode interactif.

Configurer les autorisations d’administration du pool

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.

Capture d’écran montrant comment configurer les autorisations d’administration du pool.

  • 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.

Configurer un coffre de clés

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é.

Capture d’écran montrant comment configurer des certificats key vault.

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.

Configurer les paramètres de gestion des secrets

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.