Effetto Append delle definizioni di Criteri di Azure

L'effetto append viene usato per aggiungere altri campi alla risorsa richiesta durante la creazione o l'aggiornamento. Un esempio comune è la specifica di indirizzi IP consentiti per una risorsa di archiviazione.

Importante

append è destinato all'uso con proprietà di non tag. Sebbene append possa aggiungere tag a una risorsa durante una richiesta di creazione o aggiornamento, è consigliabile usare l'effetto modify per i tag.

Valutazione di Append

L'effetto append viene valutato prima che la richiesta venga elaborata da un provider di risorse durante la creazione o l'aggiornamento di una risorsa. Append aggiunge campi alla risorsa quando viene soddisfatta la condizione if della regola dei criteri. Se l'effetto Append sostituisce un valore nella richiesta originale con un valore diverso, agisce come effetto Deny e rifiuta la richiesta. Per accodare un nuovo valore a una matrice esistente, usare la versione [*] dell'alias.

Quando una definizione dei criteri che usa l'effetto Append viene eseguita come parte di un ciclo di valutazione, non apporta modifiche alle risorse già esistenti. Al contrario, contrassegna qualsiasi risorsa che soddisfi la condizione if come non conforme.

Proprietà di Append

Un effetto Append ha solo una matrice details, che è obbligatoria. Poiché details è una matrice, può accettare una singola coppia field/value o valori multipli. Fare riferimento alla struttura di definizione per l'elenco dei campi accettabili.

Esempi di Append

Esempio 1: singola coppia field/value usando un alias non [*] con una matrice value per impostare le regole IP in un account di archiviazione. Quando l'alias non [*] è una matrice, l'effetto aggiunge value come intera matrice. Se la matrice esiste già, si verifica un evento deny per effetto del conflitto.

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

Esempio 2: singola coppia field/value usando un alias [*] con una matrice value per impostare le regole IP in un account di archiviazione. Quando si usa l'alias [*], l'effetto aggiunge value a una matrice potenzialmente preesistente. Le matrici che non esistono vengono create.

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

Passaggi successivi