Utiliser l’extension Azure Policy pour Visual Studio Code

S'applique à l'extension Azure Policy version 0.1.2 (ou ultérieure)

Découvrez comment utiliser l’extension Azure Policy pour Visual Studio Code (VS Code) afin de rechercher des alias, d’examiner des ressources et stratégies, d’exporter des objets et d’évaluer des définitions de stratégie. Tout d’abord, nous décrirons comment installer l’extension Azure Policy dans Visual Studio Code. Ensuite, nous étudierons comment rechercher des alias.

L'extension Azure Policy pour Visual Studio Code peut être installée sous Linux, macOS et Windows.

Prérequis

Les éléments suivants sont requis pour effectuer les étapes décrites dans cet article :

Installer et configurer l’extension Azure Policy

Une fois tous les prérequis remplis, vous pouvez installer l’extension Azure Policy pour Visual Studio Code en suivant les étapes ci-dessous :

  1. Ouvrez Visual Studio Code.
  2. À partir de la barre de menus, accédez à Afficher>Extensions.
  3. Dans la zone de recherche, entrez Azure Policy.
  4. Sélectionnez Azure Policy dans les résultats de la recherche, puis sélectionnez Installer.
  5. Sélectionnez Recharger si nécessaire.

Dans le cas d’un utilisateur d’un cloud national, suivez d’abord ces étapes pour configurer l’environnement Azure :

  1. Sélectionnez Fichier>Préférences>Paramètres.

  2. Recherchez la chaîne suivante : Azure : Cloud

  3. Sélectionnez le cloud national dans la liste :

    Screenshot of selecting the nation Azure cloud sign in for Visual Studio Code.

Utilisation de l’extension de stratégie

Notes

Les modifications apportées localement aux définitions des stratégies qui s’affichent dans l’extension Azure Policy pour Visual Studio Code ne sont pas synchronisées avec Azure.

Se connecter à un compte Azure

Pour pouvoir évaluer des ressources et rechercher des alias, vous devez vous connecter à votre compte Azure. Suivez ces étapes pour vous connecter à Azure à partir de Visual Studio Code :

  1. Connectez-vous à Azure à partir de l’extension Azure Policy ou de la palette de commandes.

    • Extension Azure Policy

      À partir de l’extension Azure Policy, sélectionnez Se connecter à Azure.

      Screenshot of Visual Studio Code and the icon for the Azure Policy extension.

    • Palette de commandes

      À partir de la barre de menus, accédez à Afficher>Palette de commandes, puis entrez Azure: Se connecter.

      Screenshot of the Azure cloud sign in options for Visual Studio Code from the Command Palette.

  2. Suivez les instructions de connexion pour vous connecter à Azure. Une fois que vous êtes connecté, le nom de votre compte Azure s’affiche dans la barre d’état, en bas de la fenêtre Visual Studio Code.

Sélectionner des abonnements

Lors de la première connexion, seules les définitions des stratégies et les ressources d’abonnement par défaut sont chargées par l’extension Azure Policy. Pour ajouter des abonnements aux ressources et aux définitions des stratégies qui s’affichent ou en supprimer, suivez les étapes ci-dessous :

  1. Démarrez la commande d’abonnement à partir de la palette de commandes ou du pied de page de la fenêtre.

    • Palette de commandes

      À partir de la barre de menus, accédez à Afficher>Palette de commandes, puis entrez Azure: Sélectionner des abonnements.

    • Pied de page de la fenêtre

      Dans le pied de page de la fenêtre en bas de l’écran, sélectionnez le segment correspondant à Azure : <votre compte> .

  2. Utilisez la zone de filtre pour trouver rapidement des abonnements par leur nom. Ensuite, cochez ou décochez les abonnements pour définir ceux qui seront affichés par l’extension Azure Policy. Une fois que vous avez terminé d’ajouter ou de supprimer des abonnements, sélectionnez OK.

Rechercher et afficher des ressources

L’extension Azure Policy liste les ressources des abonnements sélectionnés par fournisseur de ressources et par groupe de ressources dans le volet Ressources. L’arborescence comprend les regroupements de ressources suivants au sein de l’abonnement sélectionné ou au niveau de l’abonnement :

  • Fournisseurs de ressources
    • Chacun des fournisseurs de ressources inscrits avec des ressources et les ressources enfants associées qui possèdent des alias de stratégie
  • Groupes de ressources
    • Toutes les ressources suivant le groupe de ressources dans lequel elles se trouvent

Par défaut, l’extension filtre la partie « Fournisseur de ressources » sur les ressources existantes et les ressources qui possèdent des alias de stratégie. Modifiez ce comportement dans Paramètres>Extensions>Azure Policy pour voir tous les fournisseurs de ressources sans filtrage.

Les clients disposant de centaines ou de milliers de ressources dans un même abonnement préféreront probablement un moyen de trouver leurs ressources avec possibilité de recherche. L’extension Azure Policy permet de rechercher une ressource spécifique en suivant les étapes suivantes :

  1. Lancez l’interface de recherche à partir de l’extension Azure Policy ou de la palette de commandes.

    • Extension Azure Policy

      Dans l’extension Azure Policy, placez le curseur sur le panneau Ressources et sélectionnez les points de suspension, puis Rechercher des ressources.

    • Palette de commandes

      Dans la barre de menus, accédez à Affichage>Palette de commandes, puis entrez Azure Policy : Rechercher des ressources.

  2. Si plusieurs abonnements sont sélectionnés pour l’affichage, utilisez le filtre pour sélectionner celui dans lequel la recherche devra être effectuée.

  3. Utilisez le filtre pour sélectionner le groupe de ressources dans lequel la recherche devra être effectuée, au sein de l’abonnement choisi.

  4. Utilisez le filtre pour sélectionner la ressource à afficher. Le filtre fonctionne à la fois pour le nom et le type de ressource.

Découvrir les alias des propriétés de ressources

Lorsqu’une ressource est sélectionnée, que ce soit par le biais de l’interface de recherche ou dans l’arborescence, l’extension Azure Policy ouvre le fichier JSON (JavaScript Object Notation) représentant cette ressource et toutes ses valeurs de propriété Azure Resource Manager.

Lorsqu’une ressource est ouverte, pointez sur le nom ou la valeur de la propriété Resource Manager pour afficher l’alias Azure Policy s’il en existe un. Dans cet exemple, la ressource a pour type Microsoft.Compute/virtualMachines et le curseur est placé sur la propriété properties.storageProfile.imageReference.offer, ce qui affiche les alias correspondants.

Screenshot of the Azure Policy extension for Visual Studio Code hovering a property to display the alias names.

Remarque

L’extension VS Code prend uniquement en charge l’évaluation des propriétés du mode Resource Manager. Pour plus d’informations sur les modes, consultez les définitions de mode.

Rechercher et afficher des définitions et des affectations de stratégies

L’extension Azure Policy liste les types et les affectations de stratégie sous la forme d’une arborescence pour les abonnements à afficher dans le volet Stratégies. Les clients disposant de centaines ou de milliers de définitions ou d’affectations de stratégies dans un même abonnement préféreront probablement un moyen de trouver leurs stratégies ou leurs affectations avec possibilité de recherche. L’extension Azure Policy permet de rechercher une stratégie ou une affectation spécifique en suivant les étapes suivantes :

  1. Lancez l’interface de recherche à partir de l’extension Azure Policy ou de la palette de commandes.

    • Extension Azure Policy

      Dans l’extension Azure Policy, placez le curseur sur le panneau Stratégies et sélectionnez les points de suspension, puis Rechercher des stratégies.

    • Palette de commandes

      Dans la barre de menus, accédez à Affichage>Palette de commandes, puis entrez Azure Policy : Rechercher des stratégies.

  2. Si plusieurs abonnements sont sélectionnés pour l’affichage, utilisez le filtre pour sélectionner celui dans lequel la recherche devra être effectuée.

  3. Utilisez le filtre pour sélectionner l’affectation ou le type de stratégie dans lequel la recherche devra être effectuée, au sein de l’abonnement choisi.

  4. Utilisez le filtre pour sélectionner la stratégie ou l’affectation à afficher. Le filtre fonctionne sur displayName pour la définition ou l’affectation de stratégie.

Lorsqu’une stratégie ou une affectation est sélectionnée, que ce soit par le biais de l’interface de recherche ou dans l’arborescence, l’extension Azure Policy ouvre le fichier JSON représentant la stratégie ou l’affectation et toutes ses valeurs de propriété Resource Manager. L’extension peut valider le schéma JSON Azure Policy ouvert.

Exporter des objets

Vous pouvez exporter les objets de vos abonnements vers un fichier JSON local. Dans le volet Ressources ou Stratégies, pointez sur un objet exportable ou sélectionnez-en un. À la fin de la ligne en surbrillance, sélectionnez l’icône Enregistrer, puis un dossier pour enregistrer ce fichier JSON de ressources.

Vous pouvez exporter les objets suivants localement :

  • Volet Ressources
    • Groupes de ressources
    • Ressources individuelles (dans un groupe de ressources ou sous un fournisseur de ressources)
  • Volet Stratégies
    • Attributions de stratégies
    • Définitions de stratégie intégrées
    • Définitions de stratégie personnalisées
    • Initiatives

Analyse d’évaluation à la demande

Vous pouvez démarrer une analyse d’évaluation avec l’extension Azure Policy pour Visual Studio Code. Pour démarrer une évaluation, sélectionnez et épinglez chacun des objets suivants : une ressource, une définition de stratégie et une attribution de stratégie.

  1. Pour épingler chaque objet, recherchez-le dans le volet Ressources ou Stratégies, puis sélectionnez l’icône Épingler à un onglet Modifier. L’épinglage d’un objet a pour effet d’ajouter celui-ci au volet Évaluation de l’extension.
  2. Dans le volet Évaluation, sélectionnez un objet de chaque type et utilisez l’icône Sélectionner pour évaluation pour marquer l’objet comme étant inclus dans l’évaluation.
  3. En haut du volet Évaluation, sélectionnez l’icône Exécuter l’évaluation. Un nouveau volet dans Visual Studio Code s’ouvre avec les détails de l’évaluation résultants au format JSON.

Notes

Pour les définitions de stratégies AuditIfNotExists ou DeployIfNotExists, utilisez l’icône plus du volet Évaluation ou Azure Policy : Sélectionner une ressource pour en vérifier l’existence (utilisé uniquement pour les stratégies inexistantes) à partir de la palette de commandes afin de sélectionner une ressource associée à des fins de vérification d’existence.

Les résultats de l’évaluation fournissent des informations sur la définition et l’attribution de stratégie, ainsi que sur la propriété policyEvaluations.evaluationResult. La sortie doit ressembler à celle-ci :

{
    "policyEvaluations": [
        {
            "policyInfo": {
                ...
            },
            "evaluationResult": "Compliant",
            "effectDetails": {
                "policyEffect": "Audit",
                "existenceScope": "None"
            }
        }
    ]
}

Notes

L’extension VS Code prend uniquement en charge l’évaluation des propriétés du mode Resource Manager. Pour plus d’informations sur les modes, consultez les définitions de mode.

La fonctionnalité d’évaluation ne fonctionne pas sur les installations macOS et Linux de l’extension.

Créer une définition de stratégie à partir d’un modèle de contrainte ou d’un modèle de mutation

L’extension VS Code peut créer une définition de stratégie à partir d’un modèle de contrainteOpen Policy Agent (OPA) GateKeeper v3 existant ou d’un modèle de mutation. Le fichier YAML (YAML Ain't Markup Language) doit être ouvert dans VS Code pour que la Palette de commandes apparaisse comme option.

  1. Ouvrez un fichier YAML de modèle de contrainte OPA GateKeeper v3 valide.

  2. Dans la barre de menus, accédez à Affichage>Palette de commandes, puis entrez Azure Policy pour Kubernetes : Créer une définition de stratégie à partir d’un modèle de contrainte ou d’une mutation.

  3. Sélectionnez la valeur SourceType appropriée.

  4. Renseignez les parties /* EDIT HERE */ du fichier JSON de définition de stratégie.

Si l’extension génère le fichier JSON d’une définition de stratégie, elle ne crée pas la définition dans Azure. Après avoir rempli les champs appropriés, utilisez le fichier JSON de définition de stratégie terminé et le portail Azure ou un kit de développement logiciel (SDK) pris en charge pour créer la définition de stratégie dans votre environnement Azure.

Se déconnecter

À partir de la barre de menus, accédez à Afficher>Palette de commandes, puis entrez Azure: Se déconnecter.

Étapes suivantes