Microsoft.Network FrontDoorWebApplicationFirewallPolicies 2025-11-01

Определение ресурсов Bicep

Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: {
      rules: [
        {
          action: 'string'
          enabledState: 'string'
          groupBy: [
            {
              variableName: 'string'
            }
          ]
          matchConditions: [
            {
              matchValue: [
                'string'
              ]
              matchVariable: 'string'
              negateCondition: bool
              operator: 'string'
              selector: 'string'
              transforms: [
                'string'
              ]
            }
          ]
          name: 'string'
          priority: int
          rateLimitDurationInMinutes: int
          rateLimitThreshold: int
          ruleType: 'string'
        }
      ]
    }
    managedRules: {
      exceptionsList: {
        exceptions: [
          {
            matchValues: [
              'string'
            ]
            matchVariable: 'string'
            scopes: [
              {
                ruleGroupScopes: [
                  {
                    ruleGroupName: 'string'
                    ruleScopes: [
                      {
                        ruleId: 'string'
                      }
                    ]
                  }
                ]
                ruleSetType: 'string'
                ruleSetVersion: 'string'
              }
            ]
            selector: 'string'
            selectorMatchOperator: 'string'
            valueMatchOperator: 'string'
          }
        ]
      }
      managedRuleSets: [
        {
          exclusions: [
            {
              matchVariable: 'string'
              selector: 'string'
              selectorMatchOperator: 'string'
            }
          ]
          ruleGroupOverrides: [
            {
              exclusions: [
                {
                  matchVariable: 'string'
                  selector: 'string'
                  selectorMatchOperator: 'string'
                }
              ]
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  enabledState: 'string'
                  exclusions: [
                    {
                      matchVariable: 'string'
                      selector: 'string'
                      selectorMatchOperator: 'string'
                    }
                  ]
                  ruleId: 'string'
                  sensitivity: 'string'
                }
              ]
            }
          ]
          ruleSetAction: 'string'
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      captchaExpirationInMinutes: int
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      enabledState: 'string'
      javascriptChallengeExpirationInMinutes: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      mode: 'string'
      redirectUrl: 'string'
      requestBodyCheck: 'string'
    }
  }
  sku: {
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Значения свойств

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Имя Описание Ценность
ETag Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. струна
location Расположение ресурса. струна
имя имя ресурса. string

Ограничения целостности:
Максимальная длина = 128 (обязательно)
свойства Свойства политики брандмауэра веб-приложения. WebApplicationFirewallPolicyProperties
sku Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. Sku
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

CustomRule

Имя Описание Ценность
action Описывает, какое действие должно быть применено при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
"Перенаправление" (обязательно)
enabledState Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
группироватьПо Описывает список переменных для группировки запросов на ограничение скорости GroupByVariable[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Описывает имя правила. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDurationInMinutes Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. int

Ограничения целостности:
Минимальное значение = 0
Максимальное значение = 5
rateLimitThreshold Количество разрешенных запросов на одного клиента в течение временного окна. int

Ограничения целостности:
Минимальное значение = 0
ruleType Описывает тип правила. MatchRule
RateLimitRule (обязательный)

Пользовательский список правил

Имя Описание Ценность
правила Список правил Пользовательское правило[]

GroupByVariable

Имя Описание Ценность
variableName Описание поддерживаемой переменной для группы по GeoLocation
"Нет"
'SocketAddr' (обязательно)

ManagedRuleExclusion

Имя Описание Ценность
matchVariable Тип переменной, который необходимо исключить. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
RequestHeaderNames (обязательно)
selector Значение селектора, к каким элементам в коллекции применяется данное исключение. строка (обязательно)
оператор совпадения селектора Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в группе. ManagedRuleExclusion[]
ruleGroupName Описывает управляемую группу правил для переопределения. строка (обязательно)
правила Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. ManagedRuleOverride[]

ManagedRuleOverride (УправляемыйПереопределение правил)

Имя Описание Ценность
action Описывает действие переопределения, которое будет применяться при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
'Redirect'
enabledState Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"
Исключения Описывает исключения, которые применяются к этому конкретному правилу. ManagedRuleExclusion[]
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
sensitivity Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"

ManagedRuleSet (УправляемыйНабор Правил)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в наборе. ManagedRuleExclusion[]
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
ruleSetAction Определяет действие набора правил. "Блокировать"
'Log'
'Redirect'
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

ManagedRuleSetException

Имя Описание Ценность
matchValues Список значений для сопоставления. string[] (обязательно)
matchVariable Переменная, которую нужно оценить для исключения запроса. "RequestHeaderNames"
'RequestUri'
'SocketAddr' (обязательно)
scopes Область действия(ов) исключения. ManagedRuleSetScope[] (обязательно)
selector Когда matchVariable — это коллекция, оператор, используемый для указания элементов
В коллекции это исключение применимо к.
В настоящее время поддерживается только для RequestHeaderNames.
струна
оператор совпадения селектора Оператор сравнения, который применяется к селектору при указании элементов
В коллекции это исключение применимо к.
"Равно"
valueMatchOperator Оператор сравнения, чтобы применить к сопоставленному значению. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"IPMatch"
"StartsWith" (обязательно)

ManagedRuleSetExceptionList

Имя Описание Ценность
Исключения Список исключений. ManagedRuleSetException[]

ManagedRuleSetList (УправляемыйСписок Правил)

Имя Описание Ценность
исключенияСписок Список исключений, применяемых к управляемым наборам правил. ManagedRuleSetExceptionList
managedRuleSets Список наборов правил. ManagedRuleSet[]

ManagedRuleSetScope

Имя Описание Ценность
ruleGroupScopes Список областей применения групп правил. RuleGroupScope[]
тип набора правил Определяет тип набора правил.
Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet,
Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection
строка (обязательно)
версия набора правил Определяет версию набора правил. строка (обязательно)

Условие совпадения

Имя Описание Ценность
matchValue Список возможных значений соответствия. string[] (обязательно)
matchVariable Запрос переменной для сравнения. 'Cookies'
'JA4'
'PostArgs'
'QueryString'
RemoteAddr
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (обязательно)
negateCondition Описывает, следует ли отрицать результат этого условия. bool
operator Тип сравнения, используемый для сопоставления со значением переменной. 'Any'
'AsnMatch'
'BeginsWith'
«Отпечаток клиента»
"Содержит"
"EndsWith"
'Equal'
'GeoMatch'
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
'LessThanOrEqual'
'RegEx'
'ServiceTagMatch' (обязательно)
selector Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. струна
transforms Список преобразований. Массив строк, содержащий любой из:
'Lowercase'
'RemoveNulls'
'Trim'
'Uppercase'
'UrlDecode'
'UrlEncode'

PolicySettings (PolicySettings)

Имя Описание Ценность
captchaExpirationInMinutes Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. string

Ограничения целостности:
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int
enabledState Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
javascriptChallengeExpirationInMinutes Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. PolicySettingsLogScrubbing
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"
redirectUrl Если тип действия — редирект, то это поле представляет URL редиректа для клиента. струна
requestBodyCheck Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. "Отключено"
"Включено"

PolicySettingsLogScrubbing

Имя Описание Ценность
Правила перемотки Список правил очистки журналов, применяемых к журналам Web Application Firewall. WebApplicationFirewallScrubbingRules[]
государство Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Теги ресурса

Имя Описание Ценность

RuleGroupScope

Имя Описание Ценность
ruleGroupName Определяет название группы правил. строка (обязательно)
ruleScopes Список объёмов правил. RuleScope[]

RuleScope

Имя Описание Ценность
Идентификатор правила Определяет идентификатор правила. строка (обязательно)

Sku

Имя Описание Ценность
имя Имя ценовой категории. "Classic_AzureFrontDoor"
"Premium_AzureFrontDoor"
"Standard_AzureFrontDoor"

WebApplicationFirewallPolicyProperties

Имя Описание Ценность
customRules Описывает пользовательские правила в политике. Пользовательский список правил
managedRules Описывает управляемые правила внутри политики. ManagedRuleSetList (УправляемыйСписок Правил)
настройки политики Описывает параметры политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

Имя Описание Ценность
matchVariable Переменная для очистки из журналов. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
"RequestHeaderNames"
RequestIPAddress
'RequestUri' (обязательно)
selector При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. струна
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. "Равно"
"EqualsAny" (обязательный)
государство Определяет состояние правила очистки журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Примеры использования

Примеры Bicep

Простой пример развертывания экземпляра политики брандмауэра Front Door Firewall.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource frontDoorWebApplicationFirewallPolicy 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2020-11-01' = {
  name: resourceName
  location: 'global'
  sku: {
    name: 'Premium_AzureFrontDoor'
  }
  properties: {
    customRules: {
      rules: [
        {
          action: 'Block'
          enabledState: 'Enabled'
          matchConditions: [
            {
              matchValue: [
                '192.168.1.0/24'
                '10.0.0.0/24'
              ]
              matchVariable: 'RemoteAddr'
              negateCondition: false
              operator: 'IPMatch'
            }
          ]
          name: 'Rule1'
          priority: 1
          rateLimitDurationInMinutes: 1
          rateLimitThreshold: 10
          ruleType: 'MatchRule'
        }
      ]
    }
    managedRules: {
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'PHP'
              rules: [
                {
                  action: 'Block'
                  enabledState: 'Disabled'
                  ruleId: '933111'
                }
              ]
            }
          ]
          ruleSetAction: 'Block'
          ruleSetType: 'DefaultRuleSet'
          ruleSetVersion: 'preview-0.1'
        }
        {
          ruleSetAction: 'Block'
          ruleSetType: 'BotProtection'
          ruleSetVersion: 'preview-0.1'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=='
      customBlockResponseStatusCode: 403
      enabledState: 'Enabled'
      mode: 'Prevention'
      redirectUrl: 'https://www.fabrikam.com'
    }
  }
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Модуль Описание
политика брандмауэра веб-приложений Front Door (WAF) Модуль ресурсов AVM для политики брандмауэра веб-приложений Front Door (WAF)

Примеры быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.

Bicep-файл Описание
Настройка управляемого waF defaultRuleSet для Azure Front Door Этот шаблон настраивает управляемый WAF defaultRuleSet для Azure Front Door
Front Door Premium с источником BLOB-объектов и приватным каналом Этот шаблон создает контейнер BLOB-объектов службы хранилища Azure Front Door premium и использует частную конечную точку для Front Door для отправки трафика в учетную запись хранения.
Front Door Premium с наборами правил, управляемыми Корпорацией Майкрософт, Этот шаблон создает Front Door Premium, включая брандмауэр веб-приложения с наборами правил защиты ботов, управляемых Корпорацией Майкрософт.
Front Door Standard/Premium с геофильтровкой Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом геофильтрации.
Front Door Standard/Premium с ограничением скорости Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом ограничения скорости.
Front Door Standard/Premium с WAF и пользовательским правилом Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с настраиваемым правилом.
Front Door с источниками BLOB-объектов для отправки Этот шаблон создает Front Door с источниками, маршрутами и наборами правил и учетными записями хранения Azure с контейнерами BLOB-объектов. Front Door отправляет трафик в учетные записи хранения при отправке файлов.
CDN FrontDoor с WAF, доменами и журналами в EventHub Этот шаблон создает новый профиль cdn Azure FrontDoor. Создайте WAF с настраиваемыми и управляемыми правилами, маршрутами cdn, источником и группами с их связью с WAF и маршрутами, настраивает настраиваемые домены, создает концентратор событий и параметры диагностики для отправки журналов доступа CDN с помощью концентратора событий.
приложение-функция , защищенное Azure Frontdoor Этот шаблон позволяет развернуть функцию Azure premium, защищенную и опубликованную Azure Frontdoor premium. Соединение между Azure Frontdoor и Функциями Azure защищено приватным каналом Azure.

Определение ресурса ARM-шаблона

Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
  "apiVersion": "2025-11-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": {
      "rules": [
        {
          "action": "string",
          "enabledState": "string",
          "groupBy": [
            {
              "variableName": "string"
            }
          ],
          "matchConditions": [
            {
              "matchValue": [ "string" ],
              "matchVariable": "string",
              "negateCondition": "bool",
              "operator": "string",
              "selector": "string",
              "transforms": [ "string" ]
            }
          ],
          "name": "string",
          "priority": "int",
          "rateLimitDurationInMinutes": "int",
          "rateLimitThreshold": "int",
          "ruleType": "string"
        }
      ]
    },
    "managedRules": {
      "exceptionsList": {
        "exceptions": [
          {
            "matchValues": [ "string" ],
            "matchVariable": "string",
            "scopes": [
              {
                "ruleGroupScopes": [
                  {
                    "ruleGroupName": "string",
                    "ruleScopes": [
                      {
                        "ruleId": "string"
                      }
                    ]
                  }
                ],
                "ruleSetType": "string",
                "ruleSetVersion": "string"
              }
            ],
            "selector": "string",
            "selectorMatchOperator": "string",
            "valueMatchOperator": "string"
          }
        ]
      },
      "managedRuleSets": [
        {
          "exclusions": [
            {
              "matchVariable": "string",
              "selector": "string",
              "selectorMatchOperator": "string"
            }
          ],
          "ruleGroupOverrides": [
            {
              "exclusions": [
                {
                  "matchVariable": "string",
                  "selector": "string",
                  "selectorMatchOperator": "string"
                }
              ],
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "enabledState": "string",
                  "exclusions": [
                    {
                      "matchVariable": "string",
                      "selector": "string",
                      "selectorMatchOperator": "string"
                    }
                  ],
                  "ruleId": "string",
                  "sensitivity": "string"
                }
              ]
            }
          ],
          "ruleSetAction": "string",
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "captchaExpirationInMinutes": "int",
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "enabledState": "string",
      "javascriptChallengeExpirationInMinutes": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "mode": "string",
      "redirectUrl": "string",
      "requestBodyCheck": "string"
    }
  },
  "sku": {
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Значения свойств

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Имя Описание Ценность
apiVersion Версия API '2025-11-01'
ETag Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. струна
location Расположение ресурса. струна
имя имя ресурса. string

Ограничения целостности:
Максимальная длина = 128 (обязательно)
свойства Свойства политики брандмауэра веб-приложения. WebApplicationFirewallPolicyProperties
sku Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. Sku
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies"

CustomRule

Имя Описание Ценность
action Описывает, какое действие должно быть применено при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
"Перенаправление" (обязательно)
enabledState Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
группироватьПо Описывает список переменных для группировки запросов на ограничение скорости GroupByVariable[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Описывает имя правила. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDurationInMinutes Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. int

Ограничения целостности:
Минимальное значение = 0
Максимальное значение = 5
rateLimitThreshold Количество разрешенных запросов на одного клиента в течение временного окна. int

Ограничения целостности:
Минимальное значение = 0
ruleType Описывает тип правила. MatchRule
RateLimitRule (обязательный)

Пользовательский список правил

Имя Описание Ценность
правила Список правил Пользовательское правило[]

GroupByVariable

Имя Описание Ценность
variableName Описание поддерживаемой переменной для группы по GeoLocation
"Нет"
'SocketAddr' (обязательно)

ManagedRuleExclusion

Имя Описание Ценность
matchVariable Тип переменной, который необходимо исключить. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
RequestHeaderNames (обязательно)
selector Значение селектора, к каким элементам в коллекции применяется данное исключение. строка (обязательно)
оператор совпадения селектора Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в группе. ManagedRuleExclusion[]
ruleGroupName Описывает управляемую группу правил для переопределения. строка (обязательно)
правила Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. ManagedRuleOverride[]

ManagedRuleOverride (УправляемыйПереопределение правил)

Имя Описание Ценность
action Описывает действие переопределения, которое будет применяться при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
'Redirect'
enabledState Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"
Исключения Описывает исключения, которые применяются к этому конкретному правилу. ManagedRuleExclusion[]
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
sensitivity Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"

ManagedRuleSet (УправляемыйНабор Правил)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в наборе. ManagedRuleExclusion[]
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
ruleSetAction Определяет действие набора правил. "Блокировать"
'Log'
'Redirect'
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

ManagedRuleSetException

Имя Описание Ценность
matchValues Список значений для сопоставления. string[] (обязательно)
matchVariable Переменная, которую нужно оценить для исключения запроса. "RequestHeaderNames"
'RequestUri'
'SocketAddr' (обязательно)
scopes Область действия(ов) исключения. ManagedRuleSetScope[] (обязательно)
selector Когда matchVariable — это коллекция, оператор, используемый для указания элементов
В коллекции это исключение применимо к.
В настоящее время поддерживается только для RequestHeaderNames.
струна
оператор совпадения селектора Оператор сравнения, который применяется к селектору при указании элементов
В коллекции это исключение применимо к.
"Равно"
valueMatchOperator Оператор сравнения, чтобы применить к сопоставленному значению. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"IPMatch"
"StartsWith" (обязательно)

ManagedRuleSetExceptionList

Имя Описание Ценность
Исключения Список исключений. ManagedRuleSetException[]

ManagedRuleSetList (УправляемыйСписок Правил)

Имя Описание Ценность
исключенияСписок Список исключений, применяемых к управляемым наборам правил. ManagedRuleSetExceptionList
managedRuleSets Список наборов правил. ManagedRuleSet[]

ManagedRuleSetScope

Имя Описание Ценность
ruleGroupScopes Список областей применения групп правил. RuleGroupScope[]
тип набора правил Определяет тип набора правил.
Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet,
Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection
строка (обязательно)
версия набора правил Определяет версию набора правил. строка (обязательно)

Условие совпадения

Имя Описание Ценность
matchValue Список возможных значений соответствия. string[] (обязательно)
matchVariable Запрос переменной для сравнения. 'Cookies'
'JA4'
'PostArgs'
'QueryString'
RemoteAddr
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (обязательно)
negateCondition Описывает, следует ли отрицать результат этого условия. bool
operator Тип сравнения, используемый для сопоставления со значением переменной. 'Any'
'AsnMatch'
'BeginsWith'
«Отпечаток клиента»
"Содержит"
"EndsWith"
'Equal'
'GeoMatch'
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
'LessThanOrEqual'
'RegEx'
'ServiceTagMatch' (обязательно)
selector Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. струна
transforms Список преобразований. Массив строк, содержащий любой из:
'Lowercase'
'RemoveNulls'
'Trim'
'Uppercase'
'UrlDecode'
'UrlEncode'

PolicySettings (PolicySettings)

Имя Описание Ценность
captchaExpirationInMinutes Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. string

Ограничения целостности:
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int
enabledState Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
javascriptChallengeExpirationInMinutes Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. PolicySettingsLogScrubbing
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"
redirectUrl Если тип действия — редирект, то это поле представляет URL редиректа для клиента. струна
requestBodyCheck Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. "Отключено"
"Включено"

PolicySettingsLogScrubbing

Имя Описание Ценность
Правила перемотки Список правил очистки журналов, применяемых к журналам Web Application Firewall. WebApplicationFirewallScrubbingRules[]
государство Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Теги ресурса

Имя Описание Ценность

RuleGroupScope

Имя Описание Ценность
ruleGroupName Определяет название группы правил. строка (обязательно)
ruleScopes Список объёмов правил. RuleScope[]

RuleScope

Имя Описание Ценность
Идентификатор правила Определяет идентификатор правила. строка (обязательно)

Sku

Имя Описание Ценность
имя Имя ценовой категории. "Classic_AzureFrontDoor"
"Premium_AzureFrontDoor"
"Standard_AzureFrontDoor"

WebApplicationFirewallPolicyProperties

Имя Описание Ценность
customRules Описывает пользовательские правила в политике. Пользовательский список правил
managedRules Описывает управляемые правила внутри политики. ManagedRuleSetList (УправляемыйСписок Правил)
настройки политики Описывает параметры политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

Имя Описание Ценность
matchVariable Переменная для очистки из журналов. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
"RequestHeaderNames"
RequestIPAddress
'RequestUri' (обязательно)
selector При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. струна
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. "Равно"
"EqualsAny" (обязательный)
государство Определяет состояние правила очистки журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Примеры использования

Шаблоны быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.

Template Описание
Настройка ограничения IP-адресов клиента WAF для Azure Front Door

Развертывание в Azure
Этот шаблон настраивает ограничение IP-адресов клиента WAF для конечной точки Azure Front Door
Настройка управляемого waF defaultRuleSet для Azure Front Door

Развертывание в Azure
Этот шаблон настраивает управляемый WAF defaultRuleSet для Azure Front Door
Настройка правила листик скорости WAF для конечной точки Azure Front Door

Развертывание в Azure
Этот шаблон настраивает правило WAF для Azure Front Door для ограничения входящего трафика для данного внешнего узла.
Настройка правил WAF с параметрами HTTP для Front Door

Развертывание в Azure
Этот шаблон настраивает пользовательские правила WAF на основе определенных параметров HTTP для конечной точки Azure Front Door.
создание Azure Front Door перед управления API Azure

Развертывание в Azure
В этом примере показано, как использовать Azure Front Door в качестве глобальной подсистемы балансировки нагрузки перед управлением API Azure.
Создание правила геофильтрации WAF для конечной точки Azure Front Door

Развертывание в Azure
Этот шаблон создает правило геофильтрации WAF для Azure Front Door, которое разрешает или блокирует трафик из определенных стран.
Front Door Premium с источником BLOB-объектов и приватным каналом

Развертывание в Azure
Этот шаблон создает контейнер BLOB-объектов службы хранилища Azure Front Door premium и использует частную конечную точку для Front Door для отправки трафика в учетную запись хранения.
Front Door Premium с наборами правил, управляемыми Корпорацией Майкрософт,

Развертывание в Azure
Этот шаблон создает Front Door Premium, включая брандмауэр веб-приложения с наборами правил защиты ботов, управляемых Корпорацией Майкрософт.
Front Door Standard/Premium с геофильтровкой

Развертывание в Azure
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом геофильтрации.
Front Door Standard/Premium с ограничением скорости

Развертывание в Azure
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом ограничения скорости.
Front Door Standard/Premium с WAF и пользовательским правилом

Развертывание в Azure
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с настраиваемым правилом.
Front Door с источниками BLOB-объектов для отправки

Развертывание в Azure
Этот шаблон создает Front Door с источниками, маршрутами и наборами правил и учетными записями хранения Azure с контейнерами BLOB-объектов. Front Door отправляет трафик в учетные записи хранения при отправке файлов.
CDN FrontDoor с WAF, доменами и журналами в EventHub

Развертывание в Azure
Этот шаблон создает новый профиль cdn Azure FrontDoor. Создайте WAF с настраиваемыми и управляемыми правилами, маршрутами cdn, источником и группами с их связью с WAF и маршрутами, настраивает настраиваемые домены, создает концентратор событий и параметры диагностики для отправки журналов доступа CDN с помощью концентратора событий.
приложение-функция , защищенное Azure Frontdoor

Развертывание в Azure
Этот шаблон позволяет развернуть функцию Azure premium, защищенную и опубликованную Azure Frontdoor premium. Соединение между Azure Frontdoor и Функциями Azure защищено приватным каналом Azure.

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:

  • Группы ресурсов

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    etag = "string"
    properties = {
      customRules = {
        rules = [
          {
            action = "string"
            enabledState = "string"
            groupBy = [
              {
                variableName = "string"
              }
            ]
            matchConditions = [
              {
                matchValue = [
                  "string"
                ]
                matchVariable = "string"
                negateCondition = bool
                operator = "string"
                selector = "string"
                transforms = [
                  "string"
                ]
              }
            ]
            name = "string"
            priority = int
            rateLimitDurationInMinutes = int
            rateLimitThreshold = int
            ruleType = "string"
          }
        ]
      }
      managedRules = {
        exceptionsList = {
          exceptions = [
            {
              matchValues = [
                "string"
              ]
              matchVariable = "string"
              scopes = [
                {
                  ruleGroupScopes = [
                    {
                      ruleGroupName = "string"
                      ruleScopes = [
                        {
                          ruleId = "string"
                        }
                      ]
                    }
                  ]
                  ruleSetType = "string"
                  ruleSetVersion = "string"
                }
              ]
              selector = "string"
              selectorMatchOperator = "string"
              valueMatchOperator = "string"
            }
          ]
        }
        managedRuleSets = [
          {
            exclusions = [
              {
                matchVariable = "string"
                selector = "string"
                selectorMatchOperator = "string"
              }
            ]
            ruleGroupOverrides = [
              {
                exclusions = [
                  {
                    matchVariable = "string"
                    selector = "string"
                    selectorMatchOperator = "string"
                  }
                ]
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    enabledState = "string"
                    exclusions = [
                      {
                        matchVariable = "string"
                        selector = "string"
                        selectorMatchOperator = "string"
                      }
                    ]
                    ruleId = "string"
                    sensitivity = "string"
                  }
                ]
              }
            ]
            ruleSetAction = "string"
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        captchaExpirationInMinutes = int
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        enabledState = "string"
        javascriptChallengeExpirationInMinutes = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        mode = "string"
        redirectUrl = "string"
        requestBodyCheck = "string"
      }
    }
    sku = {
      name = "string"
    }
  }
}

Значения свойств

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

Имя Описание Ценность
ETag Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. струна
location Расположение ресурса. струна
имя имя ресурса. string

Ограничения целостности:
Максимальная длина = 128 (обязательно)
свойства Свойства политики брандмауэра веб-приложения. WebApplicationFirewallPolicyProperties
sku Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. Sku
tags Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01"

CustomRule

Имя Описание Ценность
action Описывает, какое действие должно быть применено при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
"Перенаправление" (обязательно)
enabledState Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
группироватьПо Описывает список переменных для группировки запросов на ограничение скорости GroupByVariable[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Описывает имя правила. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDurationInMinutes Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. int

Ограничения целостности:
Минимальное значение = 0
Максимальное значение = 5
rateLimitThreshold Количество разрешенных запросов на одного клиента в течение временного окна. int

Ограничения целостности:
Минимальное значение = 0
ruleType Описывает тип правила. MatchRule
RateLimitRule (обязательный)

Пользовательский список правил

Имя Описание Ценность
правила Список правил Пользовательское правило[]

GroupByVariable

Имя Описание Ценность
variableName Описание поддерживаемой переменной для группы по GeoLocation
"Нет"
'SocketAddr' (обязательно)

ManagedRuleExclusion

Имя Описание Ценность
matchVariable Тип переменной, который необходимо исключить. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
RequestHeaderNames (обязательно)
selector Значение селектора, к каким элементам в коллекции применяется данное исключение. строка (обязательно)
оператор совпадения селектора Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в группе. ManagedRuleExclusion[]
ruleGroupName Описывает управляемую группу правил для переопределения. строка (обязательно)
правила Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. ManagedRuleOverride[]

ManagedRuleOverride (УправляемыйПереопределение правил)

Имя Описание Ценность
action Описывает действие переопределения, которое будет применяться при совпадении правил. 'Allow'
«Оценка аномалий»
"Блокировать"
CAPTCHA
"JSChallenge"
'Log'
'Redirect'
enabledState Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"
Исключения Описывает исключения, которые применяются к этому конкретному правилу. ManagedRuleExclusion[]
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
sensitivity Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"

ManagedRuleSet (УправляемыйНабор Правил)

Имя Описание Ценность
Исключения Описывает исключения, которые применяются ко всем правилам в наборе. ManagedRuleExclusion[]
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
ruleSetAction Определяет действие набора правил. "Блокировать"
'Log'
'Redirect'
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

ManagedRuleSetException

Имя Описание Ценность
matchValues Список значений для сопоставления. string[] (обязательно)
matchVariable Переменная, которую нужно оценить для исключения запроса. "RequestHeaderNames"
'RequestUri'
'SocketAddr' (обязательно)
scopes Область действия(ов) исключения. ManagedRuleSetScope[] (обязательно)
selector Когда matchVariable — это коллекция, оператор, используемый для указания элементов
В коллекции это исключение применимо к.
В настоящее время поддерживается только для RequestHeaderNames.
струна
оператор совпадения селектора Оператор сравнения, который применяется к селектору при указании элементов
В коллекции это исключение применимо к.
"Равно"
valueMatchOperator Оператор сравнения, чтобы применить к сопоставленному значению. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"IPMatch"
"StartsWith" (обязательно)

ManagedRuleSetExceptionList

Имя Описание Ценность
Исключения Список исключений. ManagedRuleSetException[]

ManagedRuleSetList (УправляемыйСписок Правил)

Имя Описание Ценность
исключенияСписок Список исключений, применяемых к управляемым наборам правил. ManagedRuleSetExceptionList
managedRuleSets Список наборов правил. ManagedRuleSet[]

ManagedRuleSetScope

Имя Описание Ценность
ruleGroupScopes Список областей применения групп правил. RuleGroupScope[]
тип набора правил Определяет тип набора правил.
Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet,
Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection
строка (обязательно)
версия набора правил Определяет версию набора правил. строка (обязательно)

Условие совпадения

Имя Описание Ценность
matchValue Список возможных значений соответствия. string[] (обязательно)
matchVariable Запрос переменной для сравнения. 'Cookies'
'JA4'
'PostArgs'
'QueryString'
RemoteAddr
'RequestBody'
'RequestHeader'
'RequestMethod'
'RequestUri'
'SocketAddr' (обязательно)
negateCondition Описывает, следует ли отрицать результат этого условия. bool
operator Тип сравнения, используемый для сопоставления со значением переменной. 'Any'
'AsnMatch'
'BeginsWith'
«Отпечаток клиента»
"Содержит"
"EndsWith"
'Equal'
'GeoMatch'
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
'LessThanOrEqual'
'RegEx'
'ServiceTagMatch' (обязательно)
selector Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. струна
transforms Список преобразований. Массив строк, содержащий любой из:
'Lowercase'
'RemoveNulls'
'Trim'
'Uppercase'
'UrlDecode'
'UrlEncode'

PolicySettings (PolicySettings)

Имя Описание Ценность
captchaExpirationInMinutes Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. string

Ограничения целостности:
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int
enabledState Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"
javascriptChallengeExpirationInMinutes Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. PolicySettingsLogScrubbing
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"
redirectUrl Если тип действия — редирект, то это поле представляет URL редиректа для клиента. струна
requestBodyCheck Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. "Отключено"
"Включено"

PolicySettingsLogScrubbing

Имя Описание Ценность
Правила перемотки Список правил очистки журналов, применяемых к журналам Web Application Firewall. WebApplicationFirewallScrubbingRules[]
государство Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Теги ресурса

Имя Описание Ценность

RuleGroupScope

Имя Описание Ценность
ruleGroupName Определяет название группы правил. строка (обязательно)
ruleScopes Список объёмов правил. RuleScope[]

RuleScope

Имя Описание Ценность
Идентификатор правила Определяет идентификатор правила. строка (обязательно)

Sku

Имя Описание Ценность
имя Имя ценовой категории. "Classic_AzureFrontDoor"
"Premium_AzureFrontDoor"
"Standard_AzureFrontDoor"

WebApplicationFirewallPolicyProperties

Имя Описание Ценность
customRules Описывает пользовательские правила в политике. Пользовательский список правил
managedRules Описывает управляемые правила внутри политики. ManagedRuleSetList (УправляемыйСписок Правил)
настройки политики Описывает параметры политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

Имя Описание Ценность
matchVariable Переменная для очистки из журналов. "QueryStringArgNames"
"RequestBodyJsonArgNames"
"RequestBodyPostArgNames"
"RequestCookieNames"
"RequestHeaderNames"
RequestIPAddress
'RequestUri' (обязательно)
selector При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. струна
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. "Равно"
"EqualsAny" (обязательный)
государство Определяет состояние правила очистки журнала. Значение по умолчанию включено. "Отключено"
"Включено"

Примеры использования

Примеры Terraform

Простой пример развертывания экземпляра политики брандмауэра Front Door Firewall.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "FrontDoorWebApplicationFirewallPolicy" {
  type      = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2020-11-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = "global"
  body = {
    properties = {
      customRules = {
        rules = [
          {
            action       = "Block"
            enabledState = "Enabled"
            matchConditions = [
              {
                matchValue = [
                  "192.168.1.0/24",
                  "10.0.0.0/24",
                ]
                matchVariable   = "RemoteAddr"
                negateCondition = false
                operator        = "IPMatch"
              },
            ]
            name                       = "Rule1"
            priority                   = 1
            rateLimitDurationInMinutes = 1
            rateLimitThreshold         = 10
            ruleType                   = "MatchRule"
          },
        ]
      }
      managedRules = {
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "PHP"
                rules = [
                  {
                    action       = "Block"
                    enabledState = "Disabled"
                    ruleId       = "933111"
                  },
                ]
              },
            ]
            ruleSetAction  = "Block"
            ruleSetType    = "DefaultRuleSet"
            ruleSetVersion = "preview-0.1"
          },
          {
            ruleSetAction  = "Block"
            ruleSetType    = "BotProtection"
            ruleSetVersion = "preview-0.1"
          },
        ]
      }
      policySettings = {
        customBlockResponseBody       = "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
        customBlockResponseStatusCode = 403
        enabledState                  = "Enabled"
        mode                          = "Prevention"
        redirectUrl                   = "https://www.fabrikam.com"
      }
    }
    sku = {
      name = "Premium_AzureFrontDoor"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Модуль Описание
политика брандмауэра веб-приложений Front Door (WAF) Модуль ресурсов AVM для политики брандмауэра веб-приложений Front Door (WAF)