Modifier

Partager via


Gérer la conformité des machines virtuelles

Azure Policy

Cet article explique comment gérer la conformité des machines virtuelles sans nuire aux pratiques DevOps. Utilisez Azure VM Image Builder et Azure Compute Gallery pour réduire les risques liés aux images système.

Architecture

La solution se compose de deux processus :

  • Processus de publication de l’image de référence
  • Processus de suivi de la conformité des machines virtuelles

Schéma d’architecture montrant comment la solution gère les images de la Place de marché Azure. Les étapes illustrées incluent la personnalisation, le suivi, les tests et la publication.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Le processus de publication de l’image de référence s’exécute tous les mois et contient les étapes suivantes :

  1. Le processus capture une image de base à partir de la Place de marché Azure.
  2. VM Image Builder personnalise l’image.
  3. Le processus de marquage d’image permet de suivre les informations relatives à la version de l’image, notamment la source et la date de publication.
  4. Les tests automatisés valident l’image.
  5. Si l’image échoue à l’un des tests, elle retourne à l’étape de personnalisation afin de corriger le problème.
  6. Le processus publie l’image finalisée.
  7. Compute Gallery met l’image à la disposition des équipes DevOps.

Schéma d’architecture montrant comment la solution gère la conformité en attribuant des définitions de stratégies, en évaluant les machines, puis en affichant les données dans un tableau de bord.

Téléchargez un fichier Visio de cette architecture.

Le processus de suivi de la conformité des machines virtuelles comprend les étapes suivantes :

  1. Azure Policy attribue des définitions de stratégies aux machines virtuelles et évalue la conformité de ces dernières.
  2. Azure Policy publie les données de conformité pour les machines virtuelles et les autres ressources Azure sur le tableau de bord Azure Policy.

Composants

  • VM Image Builder est un service géré pour la personnalisation des images système. Ce service construit et distribue les images utilisées par les équipes DevOps.

  • Compute Gallery vous aide à structurer et à organiser des images personnalisées. En stockant les images dans des référentiels, ce service permet un accès contrôlé aux images. Les utilisateurs peuvent se trouver à l’intérieur ou à l’extérieur de votre organisation.

  • Azure Policy propose des définitions de stratégies. Vous pouvez utiliser ces définitions pour faire respecter les normes de votre organisation et pour évaluer la conformité à grande échelle. Le tableau de bord Azure Policy affiche les résultats des évaluations Azure Policy. Ces données vous informent de l’état de conformité de vos ressources.

  • La fonctionnalité Configuration des ordinateurs d’Azure Automanage d'Azure Policy permet d’auditer ou d’attribuer dynamiquement des configurations à des ordinateurs par le biais du code. Les configurations incluent généralement des paramètres d’environnement ou de système d’exploitation.

Autres solutions

  • Vous pouvez utiliser un outil tiers pour gérer la conformité. Mais avec ce type d’outil, vous devez généralement installer un agent sur la machine virtuelle cible. Vous devrez peut-être également payer des frais de licence.

  • Vous pouvez utiliser des extensions de script personnalisé pour installer des logiciels sur des machines virtuelles ou pour configurer des machines virtuelles après leur déploiement. Mais chaque machine virtuelle ou groupe de machines virtuelles identiques ne peut avoir qu’une seule extension de script personnalisé. Et si vous utilisez des extensions de script personnalisé, vous empêchez les équipes DevOps de personnaliser leurs applications.

Détails du scénario

Chaque entreprise suit ses propres normes et réglementations en matière de conformité. En ce qui concerne la sécurité, chaque entreprise évalue ses propres risques. Les normes de sécurité peuvent varier d’une organisation à l’autre et d’une région à une autre.

Les différentes normes suivantes peuvent être plus difficiles à mettre à l’échelle dynamiquement dans les environnements cloud que dans les systèmes locaux. Lorsque les équipes utilisent des pratiques DevOps, il y a généralement moins de restrictions sur les personnes autorisées à créer des ressources Azure comme les machines virtuelles. Cela complique la mise en conformité.

Grâce à Azure Policy et aux affectations avec contrôle d’accès en fonction du rôle, les entreprises peuvent appliquer des normes aux ressources Azure. Mais avec les machines virtuelles, ces mécanismes n’affectent que le plan de contrôle, ou l’itinéraire vers la machine virtuelle. Les images système qui s’exécutent sur une machine virtuelle restent une menace pour la sécurité. Certaines entreprises empêchent les développeurs d’accéder aux machines virtuelles. Cette approche nuit à l’agilité de l’entreprise et rend difficile le respect des pratiques DevOps.

Cet article présente une solution pour gérer la conformité des machines virtuelles exécutées sur Azure. Outre le suivi de la conformité, cette solution réduit également le risque lié aux images système exécutées sur des machines virtuelles. Elle est également compatible avec les pratiques DevOps. Les principaux composants incluent Azure VM Image Builder, Azure Compute Gallery et Azure Policy.

Cas d’usage potentiels

Cette solution s’applique aux organisations disposant de zones d’atterrissage Azure qui réalisent ces tâches :

  • Fournir des images de référence aux équipes DevOps. Une image de référence représente la version publiée d’une image de la Place de marché.
  • Tester et valider les images avant de les mettre à la disposition des équipes DevOps.
  • Suivre l’image utilisée par chaque équipe DevOps.
  • Faire respecter les normes de l’entreprise sans nuire à la productivité.
  • S’assurer que les équipes DevOps utilisent les dernières versions des images.
  • Gérer la conformité des serveurs Pet, qui nécessitent beaucoup de maintenance, et des serveurs Cattle, qui peuvent être facilement remplaçables.

Approche

Les sections suivantes fournissent une description détaillée de l’approche de cette solution.

Identifier les éléments « pet » et « cattle »

Les équipes DevOps utilisent une analogie appelée « pet » (animal de compagnie) et « cattle » (bétail) pour définir des modèles de service. Pour suivre la conformité d’une machine virtuelle, il faut d’abord déterminer s’il s’agit d’un serveur de type « pet » ou « cattle » :

  • Les serveurs « pet » exigent une attention particulière. Ils ne sont pas faciles à dispenser. La récupération d’un serveur « pet » nécessite d’investir une quantité considérable de temps et de ressources financières. Par exemple, un serveur qui exécute SAP peut être de type « pet ». Outre le logiciel exécuté sur le serveur, d’autres considérations peuvent également déterminer le modèle de service. Si vous avez une faible tolérance aux pannes, les serveurs de production des systèmes en temps réel et en quasi-temps réel peuvent également être des serveurs « pet ».

  • Les serveurs « cattle » font partie d’un groupe identique. Vous pouvez les remplacer facilement. Par exemple, les machines virtuelles qui s’exécutent sur un groupe de machines virtuelles identiques sont des serveurs « cattle ». S’il y a suffisamment de machines virtuelles dans le groupe, votre système continue de fonctionner et vous n’avez pas besoin de connaître le nom de chaque machine virtuelle. Les serveurs de l’environnement de test qui répondent aux conditions suivantes constituent un autre exemple de serveur « cattle » :

    • Vous utilisez une procédure automatisée pour créer les serveurs à partir de zéro.
    • Après avoir terminé les tests, vous désactivez les serveurs.

Un environnement peut contenir uniquement des serveurs « pet » ou « cattle ». En revanche, un ensemble de machines virtuelles dans un environnement peut être de type « pet ». Un autre ensemble de machines virtuelles dans ce même environnement peut être de type « cattle ».

Pour gérer la conformité :

  • La conformité des éléments « pet » peut être plus difficile à suivre que celle des éléments « cattle ». En général, seules les équipes DevOps peuvent suivre et maintenir la conformité des environnements et des serveurs « pet ». Mais la solution présentée dans cet article augmente la visibilité de l’état de chaque élément « pet », permettant à tous les membres de l’organisation de suivre la conformité.
  • Pour les environnements « cattle », actualisez les machines virtuelles et recréez-les à partir de zéro régulièrement. Ces étapes doivent être adaptées pour garantir leur conformité. Vous pouvez aligner ce cycle d’actualisation jour sur la fréquence régulière de publication de votre équipe DevOps.

Restreindre les images

N’autorisez pas les équipes DevOps à utiliser des images de machines virtuelles de la Place de marché Azure. N’autorisez que les images de machines virtuelles publiées par Compute Gallery. Cette restriction est essentielle pour garantir la conformité des machines virtuelles. Vous pouvez utiliser une stratégie personnalisée dans Azure Policy pour appliquer cette restriction. Pour obtenir un exemple, consultez Autoriser les éditeurs d’images.

Dans le cadre de cette solution, VM Image Builder devrait utiliser une image de la Place de marché Azure. Il est essentiel d’utiliser la dernière image disponible sur la Place de marché Azure. Appliquez toutes les personnalisations au niveau de cette image. Les images de la Place de marché Azure sont souvent actualisées, et chaque image possède certaines configurations prédéfinies, ce qui garantit la sécurisation par défaut de vos images.

Personnaliser les images

Une image de référence est la version d’une image de la Place de marché, qui est publiée dans Compute Gallery. Les images de référence sont disponibles pour être utilisées par les équipes DevOps. Avant d’être publiée, l’image est personnalisée. Les activités de personnalisation sont propres à chaque entreprise. Les activités courantes sont les suivantes :

  • Renforcement du système d’exploitation.
  • Déploiement d’agents personnalisés pour les logiciels tiers.
  • Installation des certificats racines de l’autorité de certification d’entreprise.

Vous pouvez utiliser VM Image Builder pour personnaliser les images en ajustant les paramètres du système d’exploitation et en exécutant des scripts et des commandes personnalisés. VM Image Builder prend en charge les images Windows et Linux. Pour plus d’informations sur la personnalisation des images, voir Contrôles de conformité réglementaire d’Azure Policy pour les machines virtuelles Azure.

Suivre les marquages d’images

Le marquage d’image est le processus qui consiste à garder la trace de toutes les informations de contrôle de version d’image qu’une machine virtuelle utilise. Ces informations sont très utiles pour résoudre des problèmes et peuvent inclure :

  • La source originale de l’image, comme le nom et la version de l’éditeur.
  • La chaîne de la version du système d’exploitation, nécessaire en cas de mise à niveau.
  • La version de votre image personnalisée.
  • Votre date de publication.

La quantité et le type d’informations que vous suivez dépendent du niveau de conformité de votre organisation.

Pour le marquage d’images sur les machines virtuelles Windows, configurez un registre personnalisé. Ajoutez toutes les informations requises à ce chemin de registre sous forme de paires clé-valeur. Sur les machines virtuelles Linux, entrez les données de marquage de l’image dans des variables d’environnement ou dans un fichier. Placez le fichier dans le dossier /etc/, où il n’entre pas en conflit avec des applications ou le travail du développeur. Si vous souhaitez utiliser Azure Policy pour suivre les données de marquage ou générer des rapports à ce sujet, stockez chaque élément de données sous la forme d’une paire clé-valeur unique. Pour des informations sur l’identification de la version d’une image de la Place de marché, voir Trouver la version d’une image de la Place de marché.

Valider des images de référence avec des tests automatisés

En règle générale, vous devez actualiser les images de référence tous les mois pour rester au courant des dernières mises à jour et modifications des images de la Place de marché Azure. Utilisez une procédure de test récurrent à cette fin. Dans le cadre du processus de création d’images, utilisez un pipeline Azure ou un autre flux de travail automatisé pour les tests. Configurez le pipeline afin de déployer une nouvelle machine virtuelle pour les tests avant le début de chaque mois. Les tests devraient confirmer les images modifiées avant de les publier en vue de leur utilisation. Automatisez les tests en utilisant une solution d’automatisation des tests ou en exécutant des commandes ou des lots sur la machine virtuelle.

Les scénarios de test courants incluent :

  • Validation du temps de démarrage de la machine virtuelle.
  • Confirmation des personnalisations de l’image, notamment les paramètres de configuration du système d’exploitation ou les déploiements d’agent.

Un échec de test devrait interrompre le processus. Répétez le test après avoir traité la cause racine du problème. Si les tests se déroulent sans problème, l’automatisation du processus de test réduit les efforts nécessaires au maintien d’un état persistant.

Publier des images de référence

Publiez les images finales sur Compute Gallery en tant qu’image gérée ou en tant que disque dur virtuel (VHD) que les équipes DevOps peuvent utiliser. Marquez toutes les images antérieures comme d’anciennes images. Si vous n’avez pas fixé de date de fin de vie pour une version d’image dans Compute Gallery, vous pouvez cesser d’utiliser l’image la plus ancienne. Cette décision dépend des stratégies de votre entreprise.

Pour plus d’informations sur les limites qui s’appliquent lorsque vous utilisez Compute Gallery, voir Stocker et partager des images dans une Azure Compute Gallery.

Une autre bonne pratique consiste à publier les dernières images dans différentes régions. Compute Gallery vous permet de gérer le cycle de vie et la réplication de vos images dans différentes régions Azure.

Pour plus d’informations sur Compute Gallery, voir Stocker et partager des images dans une galerie Azure Compute Gallery.

Actualiser les images de référence

Lorsqu’une image est utilisée pour une application, il peut être difficile de mettre à jour l’image du système d’exploitation sous-jacent avec les récents changements de conformité. Des exigences commerciales strictes peuvent compliquer le processus d’actualisation de la machine virtuelle sous-jacente. L’actualisation est également complexe lorsque la machine virtuelle est essentielle pour l’entreprise.

Étant donné que les serveurs « cattle » sont dispensables, vous pouvez collaborer avec les équipes DevOps pour actualiser ces serveurs dans une fenêtre de maintenance planifiée en tant qu’activité habituelle.

Il est plus difficile d’actualiser les serveurs « pet ». L’arrêt de l’utilisation d’une image peut mettre en danger les applications. Dans les scénarios scale-out, Azure ne trouve les images respectives, ce qui entraîne des échecs.

Tenez compte des instructions suivantes lors de l’actualisation des serveurs « pet » :

Améliorer la visibilité

En général, vous devez utiliser Azure Policy pour gérer toutes les activités de conformité du plan de contrôle. Vous pouvez également utiliser Azure Policy pour :

  • Suivre la conformité de la machine virtuelle.
  • Installer des agents Azure.
  • Capturer des journaux de diagnostic.
  • Améliorer la visibilité de la conformité des machines virtuelles.

Utilisez la fonctionnalité de configuration des ordinateurs d’Azure Automanage d’Azure Policy pour auditer les modifications de configuration que vous effectuez pendant la personnalisation de l’image. En cas de dérive, le tableau de bord Azure Policy indique que la machine virtuelle concernée n’est pas conforme. Azure Policy peut utiliser les informations de marquage des images pour déterminer si vous utilisez des images ou des systèmes d’exploitation obsolètes.

Auditer les serveurs « pet » pour chaque application. En utilisant des stratégies Azure Policy avec un effet d’audit, vous pouvez améliorer la visibilité de ces serveurs. Ajustez le processus d’audit en fonction de la tolérance aux risques et des processus internes de gestion des risques de votre entreprise.

Chaque équipe DevOps peut suivre les niveaux de conformité de ses applications dans le tableau de bord Azure Policy et prendre les mesures correctives appropriées. Lorsque vous affectez ces stratégies à un groupe de gestion ou à un abonnement, incluez dans la description de l’affectation une URL qui mène à un wiki de l’entreprise. Vous pouvez également utiliser une URL courte comme aka.ms/policy-21. Dans le wiki, énumérez les mesures que les équipes DevOps doivent prendre pour rendre leurs machines virtuelles conformes.

Les gestionnaires des risques informatiques et les responsables de la sécurité peuvent également utiliser le tableau de bord Azure Policy pour gérer les risques de l’entreprise en fonction de sa tolérance aux risques.

En utilisant la fonctionnalité de configuration des ordinateurs d’Azure Automanage d’Azure Policy avec des options de remédiation, vous pouvez appliquer automatiquement des mesures correctives. Mais le fait d’interroger fréquemment une machine virtuelle ou d’effectuer des modifications sur une machine virtuelle que vous utilisez pour une application critique pour l’entreprise peut nuire aux performances. Planifiez soigneusement les actions de remédiation pour les charges de travail de production. Confiez à une équipe DevOps la responsabilité de vérifier la conformité des applications dans tous les environnements. Cette approche est essentielle pour les serveurs et les environnements « pet », qui sont généralement des composants Azure à long terme.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Extensibilité

Vous pouvez configurer le nombre de réplicas que Compute Gallery stocke pour chaque image. Un nombre plus élevé de réplicas minimise le risque de limitation de bande passante lorsque vous configurez plusieurs machines virtuelles simultanément. Pour des conseils généraux sur la mise à l’échelle et la configuration d’un nombre approprié de réplicas, voir Mise à l’échelle pour Azure Compute Gallery.

Résilience

Cette solution utilise des composants gérés qui sont automatiquement résilients au niveau régional. Pour obtenir des conseils d’ordre général sur la conception de solutions résilientes, consultez l’article Conception d’applications résilientes pour Azure.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

À moins d’utiliser un service tiers comme Ansible ou Terraform, cette approche est quasiment gratuite. Des frais de stockage et de sortie peuvent s’appliquer. Les autres frais potentiels impliquent les éléments suivants :

  • Azure Policy et la configuration d’invité Azure Automanage sont gratuits pour les ressources Azure. Si votre entreprise utilise une approche hybride, des frais supplémentaires pour les ressources Azure Arc s’appliquent.

  • Pendant la période de préversion, VM Image Builder utilise un type d’instance de calcul unique avec 1 processeur virtuel et 3,5 Go de RAM. Des frais peuvent s’appliquer au stockage et au transfert des données.

  • Compute Gallery n’entraîne aucuns frais, à l’exception des frais suivants :

    • Coût de stockage des réplicas.
    • Frais de sortie du réseau pour la réplication des images.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes