Поделиться через


добавление эффекта Политика Azure определений

Эффект append используется для добавления дополнительных полей в запрошенный ресурс во время создания или обновления. Типичный пример — указание разрешенных IP-адресов для ресурса хранилища.

Внимание

append предназначен для использования со свойствами, не относящихся к тегам. Хотя теги могут добавляться в ресурс во время append запроса на создание или обновление, рекомендуется использовать эффект изменения для тегов.

Оценка добавления

Эффект append оценивается до обработки запроса поставщиком ресурсов во время создания или обновления ресурса. Добавление полей к ресурсу добавляется при if выполнении условия правила политики. Если добавление приведет к замене значения в исходном запросе на другое значение, то оно работает как действие запрета и отклоняет запрос. Чтобы добавить новое значение к имеющемуся массиву, используйте версию псевдонима [*].

При запуске определения политики с использованием действия добавления в рамках цикла оценивания оно не меняет уже существующие ресурсы. Вместо этого он помечает любой ресурс, соответствующий условию if , как несоответствующий.

Свойства добавления

Эффект добавления имеет details только массив, который является обязательным. Так как details это массив, он может принимать одну field/value пару или несколько. Список допустимых полей представлен в статье, посвященной структуре определения.

Примеры добавления

Пример 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"
      }
    }
  ]
}

Следующие шаги