Effet Append de définitions Azure Policy

L’effet append permet d’ajouter plus de champs à la ressource demandée lors de la création ou de la mise à jour. Un exemple courant consiste à spécifier des adresses IP autorisées pour une ressource de stockage.

Important

append est destiné à être utilisé avec des propriétés autres que des étiquettes. Même si append peut ajouter des étiquettes à une ressource dans le cadre d’une requête de création ou de mise à jour, il est recommandé d’utiliser l’effet Modify pour les étiquettes.

Évaluation Append

L’effet append évalue avant que la requête ne soit traitée par un fournisseur de ressources lors de la création ou de la mise à jour d’une ressource. Append ajoute des champs à la ressource lorsque la condition if de la règle de stratégie est remplie. Si l’effet Append remplace une valeur dans la requête d’origine avec une valeur différente, il agit comme un effet Deny et rejette la demande. Pour ajouter une nouvelle valeur à un tableau existant, utilisez la version [[*]] de l’alias.

Lorsqu’une définition de stratégie utilisant l’effet Append est exécutée dans le cadre d’un cycle d’évaluation, elle n’apporte pas de modifications aux ressources qui existent déjà. Au lieu de cela, cela marque comme non conforme toute ressource qui répond à la condition if.

Propriétés d’Append

Un effet Append ne prend en charge qu’un tableau details, ce qui est obligatoire. Étant donné que details est un tableau, il peut prendre une ou plusieurs paires field/value. Reportez-vous à la structure de définition pour afficher la liste des champs autorisés.

Exemples Append

Exemple 1 : paire field/value unique utilisant un [*]alias non avec un tableau value pour définir des règles IP sur un compte de stockage. Lorsque l’alias non [*] est un tableau, l’effet ajoute le value en tant que tableau entier. Si le tableau existe déjà, un événement deny se produit à partir du conflit.

"then": {
  "effect": "append",
  "details": [
    {
      "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules",
      "value": [
        {
          "action": "Allow",
          "value": "134.5.0.0/21"
        }
      ]
    }
  ]
}

Exemple 2 : paire field/value unique utilisant un [*]alias avec un tableau value pour définir des règles IP sur un compte de stockage. En utilisant l’alias [*], l’effet ajoute le value à un groupe potentiellement préexistant. Les tableaux qui n’existent pas sont créés.

"then": {
  "effect": "append",
  "details": [
    {
      "field": "Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]",
      "value": {
        "value": "40.40.40.40",
        "action": "Allow"
      }
    }
  ]
}

Étapes suivantes