Azure Policy 定義の append 効果

append 効果は、作成中または更新中に要求されたリソースにさらにフィールドを追加するために使用されます。 一般的な例としては、ストレージ リソースに対して許可される IP の指定が挙げられます。

重要

append は、タグ以外のプロパティで使用することを目的としています。 append では、作成要求または更新要求時にリソースにタグを追加することができますが、タグに対しては代わりに modify 効果を使用することをお勧めします。

Append の評価

リソースを作成中または更新中に、リソース プロバイダーによって要求が処理される前に append 効果による評価が行われます。 append では、ポリシー規則の if 条件が満たされた場合、リソースにフィールドが追加されます。 Append 効果によって元の要求の値が別の値でオーバーライドされる場合、Append は Deny 効果として機能し、要求は拒否されます。 新しい値を既存の配列に追加するには、 [*] バージョンの別名を使用します。

Append 効果を使用するポリシー定義が評価サイクルの一部として実行される場合、既存のリソースに対する変更は行われません。 代わりに、if 条件を満たすリソースが非準拠とマークされます。

Append のプロパティ

append 効果には必須の details 配列が 1 つだけあります。 details は配列なので、1 つまたは複数の field/value のペアをとることができます。 許容可能なフィールドの一覧については、定義の構造を参照してください。

Append の例

例 1: 非[*]別名と配列 value を使用してストレージ アカウントに IP 規則を設定する単一の field/value のペア。 非 [*] 別名が配列の場合、この効果により、value が配列全体として追加されます。 配列が既に存在する場合は、競合から deny イベントが発生します。

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

例 2: [*]別名と配列 value を使用してストレージ アカウントに IP 規則を設定する単一の field/value のペア。 [*] 別名を使用する場合、この効果により、value が事前に存在している可能性のある配列に追加されます。 存在しない配列が作成されます。

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

次のステップ