Partager via


Adopter des garde-fous pilotés par les stratégies

Avant d’utiliser des stratégies, vous devez comprendre où elles sont utilisées dans les implémentations de référence de la zone d’atterrissage Azure et pourquoi. Cet article vous aidera à comprendre si vous souhaitez empêcher DeployIfNotExists (DINE) ou modifier des stratégies d’apporter des modifications dans votre environnement Azure.

Pourquoi utiliser DINE et modifier des stratégies ?

Les stratégies DINE et Modify font partie des implémentations de référence de la zone d’atterrissage Azure. Elles vous aident, ainsi que votre organisation, à vérifier la conformité de vos zones d’atterrissage (ou abonnements) et des ressources qu’elles contiennent. Ces stratégies réduisent également la charge opérationnelle pour les équipes de plateforme et de zone d’atterrissage à mesure que votre environnement Azure s’agrandit.

Par exemple, envisagez un scénario dans lequel un nouvel abonnement de zone d’atterrissage est provisionné et placé dans le groupe d’administration « corp ». Les stratégies DINE et Modify effectuent ensuite les actions suivantes pour l’abonnement de la zone d’atterrissage :

  • Activez Microsoft Defender pour cloud. Configurez les exportations Defender pour Cloud vers l’espace de travail Log Analytics central dans l’abonnement de gestion.
  • Activez Defender pour cloud pour les différentes offres prises en charge en fonction des paramètres de stratégie configurés sur l’attribution de stratégie.
  • Configurez les journaux d’activité Azure à envoyer à l’espace de travail Log Analytics central dans l’abonnement de gestion.
  • Configurez les paramètres de diagnostic de toutes les ressources à envoyer à l’espace de travail Log Analytics central dans l’abonnement de gestion.
  • Déployer les agents Azure Monitor requis pour les machines virtuelles et Azure Virtual Machine Scale Sets, y compris les serveurs connectés à Azure Arc. Connectez-les à l’espace de travail Log Analytics central dans l’abonnement de gestion.

Remarque

Vous pouvez désactiver les options précédentes à tout moment ou pendant le déploiement des implémentations de référence de zone d’atterrissage Azure.

La liste précédente affiche un sous-ensemble de toutes les stratégies assignées dans le cadre de l’accélérateur de zone de démarrage Azure. Pour obtenir la liste complète des stratégies qui peuvent être affectées par l’implémentation de référence de la zone d’atterrissage Azure, consultez Stratégies incluses dans les implémentations de référence des zones d’atterrissage Azure.

Le référentiel Bicep des zones d’atterrissage Azure est modulaire. Les stratégies par défaut ci-dessus peuvent être déployées avec le module d'affectations de stratégie par défaut ALZ .

Toutes les politiques assignées vous aident, vous et les propriétaires de la zone d'atterrissage, à rester conformes. Aucune ressource de charge de travail réelle n’est déployée via DINE ou Modifie des stratégies. Nous ne recommandons pas cela non plus. Pour plus d’informations, consultez Devez-nous utiliser Azure Policy pour déployer des charges de travail ?. Seules les ressources auxiliaires ou les paramètres de prise en charge sont déployés ou configurés par ces stratégies DINE.

Les implémentations de référence des zones d’atterrissage Azure utilisent les stratégies Azure DINE pour vous aider à atteindre la gouvernance pilotée par les stratégies dans votre environnement Azure. Mais vous ne pouvez peut-être pas utiliser DINE ou Modifier des stratégies, ou vous n’êtes pas prêt à activer ce type d’effet de stratégie Azure en raison de :

  • Stratégies de conformité réglementaire, normes ou restrictions de droit.
  • Processus de contrôle des modifications stricts qui nécessitent une approbation humaine pour chaque action au sein de votre environnement Azure.
  • Manque d’expertise, d’expérience et de compréhension de la gestion et de l’utilisation des stratégies DINE.
  • Les exigences organisationnelles stipulent que toutes les ressources de travail, y compris les ressources auxiliaires, les ressources de support et les paramètres, sont définies dans l’infrastructure en tant que code (IaC) par les équipes responsables des applications.

Si vous vous inscrivez dans les exemples précédents ou dans des scénarios similaires, cet article vous aide à comprendre comment adopter l’architecture conceptuelle zone d’atterrissage Azure et respecter ses principes de conception . Bien que vous n’utilisiez pas certaines stratégies initialement, vous pouvez choisir de les activer progressivement à l’avenir. L’objectif est de vous aider à atteindre la gouvernance pilotée par les stratégies.

Important

Dans cet article, vous verrez deux valeurs possibles utilisées pour les termes du mode d’application :

  • Disabled ou DoNotEnforce
  • Activé ou par défaut

Le portail Azure utilise Désactivé et Activé pour le mode d’application. Les modèles Azure Resource Manager (ARM) et d’autres interfaces API utilisent DoNotEnforce et Default pour les mêmes options.

Pour plus d’informations, consultez Mode d’application.

Si vous êtes toujours certain que votre organisation ne peut pas utiliser DINE ou Modifier des stratégies, cet article explique comment empêcher (également appelé désactiver) les stratégies d’apporter des modifications automatiques à votre environnement Azure.

Remarque

Cette opération n’est pas permanente. Les politiques peuvent être réactivées à tout moment par un membre de votre équipe de plateforme si vous décidez plus tard d’utiliser DINE ou de modifier les politiques.

Pour plus d’informations, consultez la phase 2 et la phase 3.

Le support pour les sélecteurs de ressources s'applique également à la gouvernance guidée par les politiques pour garantir le respect des pratiques de déploiement sécurisé (SDP). Les sélecteurs de ressources apportent les fonctionnalités de déploiement progressif des affectations de stratégie en fonction de facteurs tels que l’emplacement des ressources, le type de ressource ou si la ressource a un emplacement. Plus d’informations sont disponibles dans ce document.

Vue d’ensemble de l’approche

Le diagramme suivant résume l’approche par phases suggérée :

Graphique qui affiche une vue d’ensemble des phases DINE.

  1. Définissez le mode d’application sur DoNotEnforce dans les affectations de stratégie :
    • À l’aide de cette fonctionnalité, vous pouvez modifier le comportement des affectations afin qu'elles deviennent une stratégie uniquement d’audit, sans modifier la définition de stratégie sous-jacente.
    • Cette approche vous permet également d’effectuer des tâches de correction manuelles sur des ressources non conformes à l’aide de tâches de correction si vous le souhaitez.
  2. Définissez le mode d’application sur Default dans les affectations de stratégie pour réactiver la correction automatique des affectations de stratégie DINE sur une étendue réduite :
    • Vous pouvez choisir d’utiliser un environnement entier, par exemple, le groupe d’administration sandbox.
    • Vous pouvez également utiliser un abonnement de charge de travail non critique.
  3. Définissez le Mode d’application sur Default dans les affectations de stratégie pour les stratégies DINE restantes sur la totalité de l’environnement Azure.

En raison des restrictions de conformité réglementaire, certains clients ne peuvent jamais passer à la phase 1. Ce n’est pas un problème : il est possible de conserver cet état si c’est nécessaire. D’autres clients peuvent passer aux phases 2 et 3 pour adopter entièrement les stratégies DINE et Modifier afin d’aider à la gouvernance pilotée par les stratégies pour leur environnement Azure.

Remarque

Le scénario et l’approche décrits dans cet article ne sont pas destinés ou recommandés pour la majorité des clients. Passez en revue la section Pourquoi utiliser DINE et modifier des stratégies ? avant de décider si ces stratégies sont appropriées et requises pour votre environnement.

Phase 1 : Désactiver les actions automatisées DINE et modifier des stratégies

Lorsque vous affectez une stratégie, par défaut, l’effet défini dans la définition de stratégie s’applique. Nous vous recommandons de laisser la définition de stratégie telle qu’elle est. Par exemple, laissez l’effet d’affectation de stratégie défini sur DeployIfNotExists.

Au lieu de modifier la définition de stratégie ou son effet, vous pouvez influencer ce comportement avec un effort minimal à l’aide de la fonctionnalité sur les affectations de stratégie.

Utiliser le portail Azure pour définir le mode d’application sur Désactivé

Cette capture d’écran montre comment utiliser le Portail Azure pour définir le mode d’application sur Disabled dans une affectation de stratégie. Disabled est également appelé DoNotEnforce.

définir le mode d’application sur Désactivé dans le portail Azure.

Utiliser le modèle ARM pour définir le mode d’application sur DoNotEnforce

Cet exemple de code montre comment utiliser un modèle ARM pour assigner enforcementMode à DoNotEnforce dans une attribution de stratégie. DoNotEnforce est également appelée Disabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "DoNotEnforce"
    … // other properties removed for display purposes
  }
}

En utilisant le mode d’application , vous pouvez voir l’effet d’une stratégie sur les ressources existantes sans l’initier ou déclencher des entrées dans le journal d’activité Azure. Ce scénario est communément appelé « What If » et s’aligne sur les pratiques de déploiement sécurisées.

Même lorsque le mode d’application est défini sur DoNotEnforce, les tâches de correction peuvent être déclenchées manuellement. Vous pouvez corriger des ressources non conformes spécifiques. Vous pouvez également observer l’effet de la stratégie DINE ou Modify si le mode d’application avait été défini sur Default.

Important

Lorsque le mode d’application est défini sur DoNotEnforce, les entrées dans le journal d’activité Azure ne sont pas générées. Considérez ce facteur si vous souhaitez être averti lorsqu’une ressource non conforme est créée.

Restez dans l’état de phase 1 de façon permanente

Comme mentionné dans la section vue d’ensemble de l’approche , certains clients devront peut-être rester dans la phase 1 pendant une longue période ou même de manière permanente en raison de leurs besoins. Cet état est valide et les clients peuvent y rester pendant toute la durée.

Peut-être avez-vous besoin de rester dans cet état définitivement ou pendant une longue période, comme des années. Si c’est le cas, il peut être préférable d’adopter l’effet de stratégie AuditIfNotExists (AINE) et ses définitions associées, et de rétablir le mode d’application sur Default.

Remarque

En passant à l’utilisation d’une stratégie AINE et en définissant le mode d’application sur Default, vous atteignez toujours le même objectif de désactiver DINE.

Lorsque vous passez de DINE à AINE et rétablissez le mode d’application sur Default comme approche à long terme ou permanente pour la phase 1, vous récupérerez les entrées du journal de l'activité Azure pour les statuts de conformité des stratégies. Vous pouvez créer des flux de travail d’automatisation à partir de ces entrées de journal dans vos opérations globales de gestion de plateforme.

Vous perdrez la possibilité d’effectuer des tâches de correction manuelles. Contrairement aux stratégies DINE, les stratégies AINE n’effectuent pas de déploiements, automatisées ou manuelles.

N’oubliez pas de mettre à jour la définition de stratégie pour accepter et autoriser l’effet d’affectation de stratégie AuditIfNotExists.

Le tableau suivant récapitule les options et les implications des différents types d’effets de stratégie et de combinaisons de mode d’application :

Effet de stratégie Mode d’application Entrée du journal d’activité Action de correction
DINE Activé ou par défaut Oui Remédiation déclenchée par la plateforme à l'échelle après la création ou la mise à jour des ressources. Création manuelle d’une tâche de correction requise si la ressource dépendante est modifiée ou préexistante avant l’attribution de stratégie.
DINE Disabled ou DoNotEnforce Non Création manuelle d’une tâche de correction requise.
Modifier Activé ou par défaut Oui Correction automatique lors de la création ou de la mise à jour.
Modifier Disabled ou DoNotEnforce Non Création manuelle d’une tâche de correction requise.
Deny Activé ou par défaut Oui Création ou mise à jour refusée.
Deny Disabled ou DoNotEnforce Non Création ou mise à jour autorisée. Correction manuelle requise.
Audit/AINE Activé ou par défaut Oui Correction manuelle requise.
Audit/AINE Disabled ou DoNotEnforce Non Correction manuelle requise.

Remarque

Passez en revue les conseils de Reacting to Azure Policy state change events pour comprendre si l’utilisation de l’intégration d’Azure Event Grid à Azure Policy offre une approche appropriée si vous envisagez de créer votre propre automatisation en fonction des événements d’état de stratégie.

Phase 2 : Activer DINE et modifier des politiques sur une politique spécifique ou une portée réduite

Au cours de cette phase, vous allez découvrir comment définir le mode d’application sur Default dans les affectations de stratégie.

Une fois que vous avez terminé phase 1, vous décidez de tester les capacités complètes d’automatisation des politiques DINE et Modify sur une politique spécifique ou sur une portée réduite. Vous souhaitez utiliser le groupe d'administration Sandbox ou un abonnement destiné à des charges de travail non productives.

Pour effectuer cette procédure, vous devez d’abord identifier la stratégie ou l’étendue réduite qui sera utilisée pour tester et essayer les fonctionnalités d’automatisation complète des stratégies DINE et Modify.

Remarque

Vous pourriez réviser et implémenter une approche de test pour une plateforme à l'échelle de l'entreprise. De cette façon, vous pouvez tester des stratégies et d’autres modifications de plateforme dans une hiérarchie de groupes d’administration distincte au sein du même locataire.

Cette approche est également appelée déploiement « canari ».

Voici quelques exemples suggérés d’étendues et de stratégies :

Quand vous voulez... Choisissez parmi ces périmètres Exemples de stratégies à utiliser
- Testez les fonctionnalités de correction automatisée de DINE/Modifier.
- Vérifiez comment vos processus de déploiement complets et vos pipelines CI/CD, y compris les tests, peuvent être affectés.
- Vérifiez comment votre charge de travail peut être affectée.
- Abonnement de bac à sable
- Groupe de gestion du bac à sable
- Abonnement de zone d’atterrissage des charges de travail hors production
- Environnement de « contrôle de validité » à l’échelle de l’entreprise
- Configurer les journaux d’activité Azure pour transmettre vers un espace de travail Log Analytics spécifié.
- Déployer la configuration de Defender pour cloud.
- Activer Azure Monitor pour les machines virtuelles (VM) ou les ensembles d'échelle de machines virtuelles.
- Déployer les paramètres de diagnostic sur les services Azure.
- Potentiellement activer seulement pour des services spécifiques au sein de l’initiative.

Vous pouvez également décider d’utiliser une tâche de correction manuelle sur une étendue limitée ou un ensemble de ressources pour tester la façon dont ces stratégies affecteront votre environnement. Pour plus d’informations sur la création d’une tâche de correction, consultez la documentation Azure Policy Créer une tâche de correction.

Une fois que vous avez identifié une stratégie ou des stratégies ainsi qu'une étendue réduite pour les attribuer, l’étape suivante consiste à appliquer la stratégie et à définir son mode d'application à Default. Laissez l’effet de stratégie (par exemple, DeployIfNotExists ou Modify) tel quel sur l’étendue réduite que vous avez sélectionnée.

Utiliser le portail Azure pour définir le mode d’application sur Activé

Cette capture d’écran montre comment utiliser le Portail Azure pour définir le mode d’application sur Enabled dans une affectation de stratégie. Enabled est également appelé Default.

Capture d’écran montrant la définition du mode d’application sur Activé dans le portail Azure.

Utiliser un modèle ARM pour définir le mode d’application sur Default

Cet exemple de code montre comment utiliser un modèle ARM pour définir enforcementMode sur Default dans une affectation de stratégie. Default est également appelée Enabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "Default"
    … // other properties removed for display purposes
  }
}

Test

La dernière étape de cette phase consiste à effectuer les tests requis. Vous souhaitez vérifier si et comment les stratégies DINE ou Modify peuvent avoir affecté et apporté des modifications à vos charges de travail, code, outils et processus.

Effectuez plusieurs tests pour capturer l’intégralité du cycle de vie de votre charge de travail. Vous souhaitez vous assurer que vous comprenez parfaitement si et comment DINE ou Modifier des stratégies ont apporté des modifications.

Voici quelques exemples de tests :

  • Déploiement initial de la charge de travail.
  • Déploiement de code ou d'application sur l'environnement de travail.
  • Opérations et gestion de la charge de travail - Jour 2.
  • Désaffectation de la charge de travail.

Phase 3 : Activer DINE et modifier des stratégies partout

Au cours de cette phase, vous allez découvrir comment définir le mode d’application sur Default dans les affectations de stratégie.

Nous partons du principe que les tests effectués à la fin de la phase 2 ont aboutis. Vous êtes peut-être satisfait de comprendre comment DINE ou Modifier des stratégies interagissent avec votre charge de travail. Vous pouvez maintenant développer l’utilisation de DINE et modifier des stratégies dans le reste de votre environnement Azure.

Pour continuer, vous suivez les étapes similaires aux étapes de phase 2. Cette fois, vous définissez le mode d’application sur Default dans toutes les affectations de stratégie DINE et Modify dans l’ensemble de votre environnement Azure.

Voici une vue d’ensemble générale des étapes que vous effectuez dans cette phase :

  • Supprimez les tâches prévues spécifiquement pour les tests de lors de la phase 2.
  • Accédez à chaque affectation de stratégie DINE et Modify dans votre environnement Azure et définissez le mode d’application sur Default. Ce processus est illustré dans les exemples de la phase 2.
  • Créez des tâches de correction pour les ressources existantes qui ne sont pas conformes en suivant les instructions de Créer une tâche de correction. Les nouvelles ressources sont automatiquement corrigées si elles correspondent aux règles de stratégie et aux conditions d’existence.

Même si dans la phase 3, nous vous recommandons de définir le mode d’application sur Default pour toutes les stratégies DINE et Modifier dans votre environnement Azure, ce choix est toujours facultatif. Vous pouvez faire ce choix par stratégie pour répondre à vos besoins et exigences.

Gestion avancée des stratégies

Pour une gestion avancée d’Azure Policy à grande échelle, envisagez d’implémenter Stratégie d’entreprise en tant que code (EPAC) pour gérer la stratégie. EPAC fournit une expérience de gestion d'état qui utilise IaC. Il convient généralement à de grands scénarios de gestion des stratégies avec des exigences complexes.