Utiliser des stratégies pour imposer des normes

Effectué

Vous avez mieux organisé vos ressources dans des groupes de ressources, et vous avez appliqué des étiquettes à vos ressources pour les utiliser dans les rapports de facturation et dans votre solution de supervision. Le regroupement et le balisage des ressources ont été bénéfiques pour les ressources existantes, mais comment vous assurer que les nouvelles ressources suivront les mêmes règles ? Examinons comment les stratégies peuvent vous aider à imposer des normes dans votre environnement Azure.

Présentation d’Azure Policy

Azure Policy est un service que vous pouvez utiliser pour créer, assigner et gérer des stratégies. Ces stratégies appliquent et imposent les règles que doivent respecter vos ressources. Ces stratégies peuvent imposer ces règles quand les ressources sont créées et vous pouvez vérifier la conformité des ressources existantes.

Les stratégies peuvent appliquer des règles comme autoriser la création de certains types de ressources uniquement ou autoriser les ressources uniquement dans des régions Azure spécifiques. Vous pouvez imposer le respect des conventions de nommage dans tout votre environnement Azure. Vous pouvez également imposer l’application d’étiquettes spécifiques aux ressources. Voyons comment les stratégies fonctionnent.

Créer une stratégie

Vous souhaitez vous assurer que toutes les ressources sont associées à l’étiquette Service et que la création est bloquée si l’étiquette n’existe pas. Vous devez créer une définition de stratégie, puis l’attribuer à une étendue. Dans cet exemple, l’étendue est notre groupe de ressources mslearn-core-infrastructure-rg. Vous pouvez créer et attribuer les stratégies via le portail Azure, Azure PowerShell ou Azure CLI. Cet exercice vous guide tout au long de la création d’une stratégie dans le portail.

Créer la définition de stratégie

  1. Si ce n’est déjà fait, accédez au portail Azure à partir d’un navigateur web. Dans la zone de recherche de la barre de navigation supérieure, recherchez Stratégie et sélectionnez le service Stratégie.

  2. Sélectionnez le volet Définitions dans la section Création dans le menu de gauche.

  3. Vous devez voir s’afficher la liste des stratégies prédéfinies disponibles. Dans cet exemple, vous allez créer votre propre stratégie personnalisée. Sélectionnez + Définition de stratégie dans le menu supérieur.

  4. La boîte de dialogue Nouvelle définition de stratégie s’affiche. Pour définir l’option Emplacement de définition, sélectionnez le sélecteur d’étendue (…). Sélectionnez l’abonnement dans lequel la stratégie est stockée, qui doit être le même que celui de notre groupe de ressources. Cliquez sur le bouton Sélectionner.

  5. Revenez dans la boîte de dialogue Nouvelle définition de stratégie, Imposer l’application d’une étiquette sur une ressource dans le champ Nom.

  6. Dans Description, entrez Cette stratégie impose l’application d’une étiquette sur une ressource.

  7. Sous Catégorie, sélectionnez Utiliser l’existante, puis sélectionnez la catégorie Général.

  8. Dans Règle de stratégie, supprimez tout le texte dans la zone et collez le code JSON suivant à la place :

    {
      "mode": "Indexed",
      "policyRule": {
        "if": {
          "field": "[concat('tags[', parameters('tagName'), ']')]",
          "exists": "false"
        },
        "then": {
          "effect": "deny"
        }
      },
      "parameters": {
        "tagName": {
          "type": "String",
          "metadata": {
            "displayName": "Tag Name",
            "description": "Name of the tag, such as 'environment'"
          }
        }
      }
    }
    

    Votre définition de stratégie doit ressembler à l’exemple suivant. Cliquez sur Enregistrer pour enregistrer votre définition de stratégie.

    Screenshot of Azure portal showing the new policy definition dialog.

Créer une affectation de stratégie

Vous avez créé la stratégie, mais vous ne l’avez pas encore réellement appliquée. Pour activer la stratégie, vous devez créer une affectation. Dans cet exemple, vous l’affectez à l’étendue du groupe de ressources msftlearn-core-infrastructure-rg afin qu’elle s’applique à tous les éléments placés dans le groupe de ressources.

  1. Dans le volet de la stratégie, sélectionnez Affectations dans la section Création.

  2. Sélectionnez Assigner une stratégie en haut.

  3. Dans le volet Assigner une stratégie, affectez votre stratégie à votre groupe de ressources. Pour l’étendue, sélectionnez le sélecteur d’étendue de lancement (...) bleu. Sélectionnez votre abonnement et le groupe de ressources msftlearn-core-infrastructure-rg, puis cliquez sur le bouton Sélectionner.

  4. Pour la Définition de stratégie, sélectionnez le sélecteur de définition de stratégie de lancement (...) bleu. Dans la liste déroulante Type, sélectionnez Personnalisé, sélectionnez la stratégie Enforce tag on resource que vous avez créée, puis sélectionnez le bouton Ajouter.

  5. Sélectionnez l’onglet Paramètres en haut de l’écran.

  6. Dans le volet Paramètres, entrez Service pour le Nom de l’étiquette.

  7. Sélectionnez Vérifier + créer, puis sélectionnez Créer pour créer l’affectation.

Tester la stratégie

Maintenant que vous avez attribué la stratégie à votre groupe de ressources, toute tentative de création d’une ressource sans l’étiquette Service échoue.

Important

Notez que l’entrée en vigueur de l’affectation de la stratégie peut prendre jusqu’à 30 minutes. En raison de ce délai, dans les étapes suivantes, la validation de la stratégie peut réussir, mais le déploiement échouera quand même. Si cela se produit, prévoyez du temps supplémentaire et recommencez votre déploiement.

  1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.

  2. Recherchez Compte de stockage et sélectionnez Compte de stockage. Dans les résultats, sélectionnez Créer.

  3. Sélectionnez votre abonnement, puis sélectionnez le groupe de ressources msftlearn-core-infrastructure-rg.

  4. Dans Nom du compte de stockage, entrez un nom de votre choix, en veillant à choisir un nom global unique.

  5. Laissez les autres options aux valeurs par défaut, puis sélectionnez Vérifier.

    La validation de la création de votre ressource échoue, car il n’y a pas d’étiquette Service appliquée à la ressource. Si la stratégie n’a pas entraîné un échec de la validation, vous devrez peut-être attendre quelques minutes supplémentaires, le temps qu’elle soit activée.

    Screenshot of Azure portal showing a policy validation failure on a new storage account without a tag.

    Corrigez ce problème pour pouvoir déployer correctement le compte de stockage.

  6. Sélectionnez Étiquettes en haut du volet Créer un compte de stockage.

  7. Ajoutez une étiquette Department:Finance à la liste.

    Screenshot of Azure portal showing a new Department tag to add during creation.

  8. Cliquez maintenant sur Vérifier. La validation fonctionne désormais. Si vous cliquez sur Créer, votre compte de stockage est créé.

Utiliser des stratégies pour garantir le respect des normes

Vous avez vu comment utiliser des stratégies pour garantir que les étiquettes d’organisation de vos ressources ont bien été appliquées à vos ressources. Il existe d’autres façons d’utiliser des stratégies à notre avantage.

Vous pouvez utiliser une stratégie pour restreindre les régions Azure où vous pouvez déployer les ressources. Dans les entreprises qui sont fortement réglementées ou qui sont soumises à des restrictions légales ou réglementaires sur l’emplacement des données, les stratégies aident à garantir que des ressources ne seront pas provisionnées dans des zones géographiques qui ne remplissent pas ces exigences.

Vous pouvez utiliser une stratégie pour restreindre les types de tailles de machines virtuelles qui peuvent être déployés. Vous souhaiterez peut-être autoriser les grandes tailles de machines virtuelles dans vos abonnements de production, mais réduire les coûts dans vos abonnements de développement. En utilisant une stratégie pour refuser l’utilisation de grandes tailles de machines virtuelles dans vos abonnements de développement, vous vous assurez que ces machines virtuelles ne pourront pas être déployées dans ces environnements.

Vous pouvez aussi utiliser une stratégie pour imposer le respect des conventions de nommage. Quand votre organisation standardise ses conventions de nommage, l’utilisation d’une stratégie pour faire respecter ces conventions contribue à maintenir des standards de nommage cohérents sur vos ressources Azure.