共用方式為


Azure 原則定義附加效果

append 效果可用來在建立或更新所要求的資源時,為資源新增更多欄位。 常見的範例是為儲存體資源指定允許的 IP。

重要

append 適用於非標記屬性。 雖然 append 可以在建立或更新要求期間,將標記新增至資源,但建議您對標記改用修改效果。

Append 評估

在建立或更新資源期間,會先由 append 進行評估,然後才由「資源提供者」處理要求。 Append 會在原則規則的 if 條件相符時,為資源新增欄位。 如果 Append 效果會以不同的值覆寫原始要求中的值,則它會充當 Deny 效果而拒絕該要求。 若要將新值附加至現有陣列中,請使用 [*] 版本的別名。

當使用 Append 效果的原則定義在評估週期中執行時,並不會對已經存在的資源進行變更。 取而代之的是,會將符合 if 條件的所有資源標示為不符合規範。

Append 屬性

Append 效果只有一個 details 陣列且為必要。 由於 details 是陣列,因此其可以接受單一的 field/value 配對,也可以接受多個配對。 如需了解可接受的欄位清單,請參考定義結構

Append 範例

範例 1:此單一 field/value 配對使用非 [*]別名搭配 value 陣列,以設定儲存體帳戶相關 IP 規則。 當非 [*] 別名是陣列時,效果會將 value 當做整個陣列來附加。 如果陣列已經存在,就會因為衝突而發生 deny 事件。

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

範例 2:此單一 field/value 配對使用 [*] 別名搭配 value 陣列,以設定儲存體帳戶相關 IP 規則。 使用 [*] 別名時,效果會將 value 附加至可能預先存在的陣列。 建立了不存在的陣列。

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

下一步