Évaluer l’impact d’une nouvelle définition Azure Policy

Azure Policy est un outil puissant qui permet de gérer vos ressources Azure en respectant les standards du secteur et en répondant aux exigences de conformité. Lorsque des personnes, des processus ou des pipelines créent ou mettent à jour des ressources, Azure Policy examine la requête impliquée. Lorsque l’effet de la définition de stratégie est Modify, Append ou DeployIfNotExists, Azure Policy modifie la requête ou y ajoute des éléments. Lorsque l’effet de la définition de stratégie est Audit ou AuditIfNotExists, Azure Policy provoque la création d’une entrée dans le journal d’activité pour les nouvelles ressources et celles mises à jour. Enfin, lorsque l’effet de la définition de stratégie est Deny ou DenyAction, Azure Policy arrête la création ou la modification de la requête.

Ces résultats sont exactement ceux que vous souhaitez lorsque vous savez que la stratégie est définie correctement. Toutefois, il est important de vérifier qu’une nouvelle stratégie fonctionne comme prévu avant de l’autoriser à modifier ou à bloquer un travail. Cette vérification vise à garantir que seules les ressources prévues sont déterminées comme non conformes et qu’aucune ressource conforme n’a été incluse dans les résultats (c’est ce qu’on appelle un faux positif).

L’approche recommandée pour vérifier une nouvelle définition de stratégie est la suivante :

  • Définir rigoureusement sa stratégie
  • Tester l’efficacité de votre stratégie
  • Auditer les requêtes de ressources nouvelles ou mises à jour
  • Déployer la stratégie sur les ressources
  • Supervision continue

Définir rigoureusement sa stratégie

Il est important de comprendre comment la stratégie d’entreprise est implémentée en tant que définition de stratégie, et comment sont liés les ressources Azure et les autres services Azure. Pour cela, vous devez comprendre les exigences et déterminer les propriétés des ressources. Toutefois, il est également important de voir au-delà de la définition de votre stratégie d’entreprise. Par exemple, votre stratégie indique-t-elle quelque chose comme « Toutes les machines virtuelles doivent... » ? Qu’en est-il des autres services Azure qui utilisent des machines virtuelles, tels que HDInsight ou AKS ? Lorsque vous définissez une stratégie, vous devez réfléchir à la façon dont elle va impacter les ressources qui sont utilisées par d’autres services.

Pour cette raison, vos définitions de stratégie doivent être rigoureusement définies et focalisées sur les ressources et les propriétés dont vous avez besoin pour évaluer la conformité.

Tester l’efficacité de votre stratégie

Avant de chercher à gérer les ressources nouvelles ou mises à jour avec votre nouvelle définition de stratégie, il est préférable de voir comment elle évalue un sous-ensemble limité de ressources existantes, comme un groupe de ressources de test. L’extension Azure Policy VS Code permet de tester de façon isolée des définitions sur les ressources Azure existantes en utilisant l’analyse d’évaluation à la demande. Vous pouvez aussi attribuer la définition dans un environnement Dev en utilisant le mode d’applicationDésactivé (DoNotEnforce) dans votre attribution de stratégie afin d’empêcher le déclenchement de l’effet ou la création d’entrées dans le journal d’activité.

Cette étape vous permet d’évaluer les résultats de conformité de la nouvelle stratégie sur les ressources existantes, sans impacter le workflow. Vérifiez qu’aucune ressource conforme ne s’affiche comme non conforme (faux positif) et que toutes les ressources qui doivent être non conformes sont marquées correctement. Dès que le sous-ensemble de ressources initial est validé, étendez progressivement l’évaluation à d’autres ressources existantes et d’autres étendues.

Le fait de procéder ainsi pour l’évaluation des ressources existantes permet de corriger les ressources non conformes avant l’implémentation complète de la nouvelle stratégie. Ce nettoyage peut être effectué manuellement ou avec une tâche de correction si l’effet de la définition de stratégie est DeployIfNotExists ou Modify.

Les définitions de stratégie avec DeployIfNotExist doivent tirer parti du scénario de modèle Azure Resource Manager pour valider et tester les changements qui se produisent pendant le déploiement du modèle ARM.

Auditer les ressources nouvelles ou mises à jour

Une fois que vous avez validé votre nouvelle définition de stratégie, vous pouvez vous intéresser à l’impact de la stratégie lors de la création ou de la mise à jour des ressources. Si la définition de stratégie prend en charge la paramétrisation des effets, utilisez Audit ou AuditIfNotExist. Cette configuration vous permet de superviser la création et la mise à jour des ressources pour voir si la nouvelle définition de stratégie déclenche la création d’une entrée dans le journal d’activité Azure en cas de ressource non conforme, sans impacter les tâches ou les requêtes existantes.

Nous vous recommandons de mettre à jour et de créer des ressources correspondant à votre définition de stratégie pour voir si l’effet Audit ou AuditIfNotExist se déclenche comme prévu. Surveillez les demandes de ressource qui ne doivent pas être affectées par la nouvelle définition de stratégie qui déclenche l’effet Audit ou AuditIfNotExist. Ces ressources impactées constituent un autre exemple de faux positifs, et doivent être corrigées dans la définition de la stratégie avant l’implémentation complète.

Si la définition de la stratégie est modifiée à cette phase du test, il est recommandé de commencer le processus de validation par l’audit des ressources existantes. La modification d’une définition de stratégie en raison d’un faux positif concernant des ressources nouvelles ou mises à jour est susceptible d’impacter les ressources existantes.

Déployer la stratégie sur les ressources

Une fois effectuée la validation de votre nouvelle définition de stratégie avec les ressources existantes et les requêtes de ressources nouvelles ou mises à jour, vous pouvez commencer à implémenter la stratégie. Il est recommandé de créer d’abord l’attribution de stratégie de la nouvelle définition de stratégie pour un sous-ensemble de ressources, comme un groupe de ressources. Vous pouvez filtrer aussi par type de ressource ou emplacement en utilisant la propriété resourceSelectors dans l’attribution de stratégie. Une fois que vous avez validé le déploiement initial, étendez l’étendue de la stratégie au groupe de ressources, par exemple. Après avoir validé le déploiement initial, étendez l’impact de la stratégie en ajustant les filtres resourceSelector pour cibler plus d’emplacements ou de types de ressource, ou en supprimant l’attribution et en la remplaçant par de nouvelles étendues, comme des abonnements et des groupes d’administration. Continuez ce déploiement progressif jusqu’à ce qu’il soit attribué à l’étendue complète des ressources que vous voulez inclure dans votre nouvelle définition de stratégie.

Pendant le déploiement, si des ressources qui doivent être exemptées de votre nouvelle définition de stratégie sont détectées, traitez-les de l’une des manières suivantes :

  • Mettez à jour la définition de stratégie pour qu’elle soit plus explicite afin de réduire tout impact non voulu.
  • Modifiez l’étendue de l’attribution de stratégie (en supprimant et en créant une nouvelle attribution).
  • Ajoutez le groupe de ressources à la liste d’exclusion pour l’attribution de stratégie.

Toute modification apportée à l’étendue (niveau ou exclusions) doit être entièrement validée et communiquée à vos organisations de sécurité et de conformité afin de garantir une couverture complète.

Superviser la stratégie et la conformité

L’implémentation et l’attribution de votre définition de stratégie ne constituent pas les dernières étapes. Supervisez continuellement le niveau de conformité des ressources par rapport à votre nouvelle définition de stratégie, et configurez des alertes et des notifications Azure Monitor pour les appareils non conformes qui sont détectés. Il est également recommandé de planifier l’évaluation de la définition de stratégie et des attributions associées pour vérifier que la définition de stratégie répond aux exigences de conformité et à la stratégie d’entreprise. Les stratégies doivent être supprimées lorsque vous n’en avez plus besoin. Les stratégies doivent également être mises à jour de temps en temps, à mesure que les ressources Azure sous-jacentes évoluent et que de nouvelles propriétés et fonctionnalités leur sont ajoutées.

Étapes suivantes