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


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2024-05-01

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

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

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

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

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

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-05-01' = {
  location: 'string'
  name: 'string'
  properties: {
    customRules: [
      {
        action: 'string'
        groupByUserSession: [
          {
            groupByVariables: [
              {
                variableName: 'string'
              }
            ]
          }
        ]
        matchConditions: [
          {
            matchValues: [
              'string'
            ]
            matchVariables: [
              {
                selector: 'string'
                variableName: 'string'
              }
            ]
            negationConditon: bool
            operator: 'string'
            transforms: [
              'string'
            ]
          }
        ]
        name: 'string'
        priority: int
        rateLimitDuration: 'string'
        rateLimitThreshold: int
        ruleType: 'string'
        state: 'string'
      }
    ]
    managedRules: {
      exceptions: [
        {
          exceptionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
          valueMatchOperator: 'string'
          values: [
            'string'
          ]
        }
      ]
      exclusions: [
        {
          exclusionManagedRuleSets: [
            {
              ruleGroups: [
                {
                  ruleGroupName: 'string'
                  rules: [
                    {
                      ruleId: 'string'
                    }
                  ]
                }
              ]
              ruleSetType: 'string'
              ruleSetVersion: 'string'
            }
          ]
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
        }
      ]
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'string'
              rules: [
                {
                  action: 'string'
                  ruleId: 'string'
                  sensitivity: 'string'
                  state: 'string'
                }
              ]
            }
          ]
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      customBlockResponseBody: 'string'
      customBlockResponseStatusCode: int
      fileUploadEnforcement: bool
      fileUploadLimitInMb: int
      jsChallengeCookieExpirationInMins: int
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      requestBodyEnforcement: bool
      requestBodyInspectLimitInKB: int
      state: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Имя Описание Ценность
местоположение Расположение ресурса. струна
имя Имя ресурса струна

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

ИсключениеВход

Имя Описание Ценность
exceptionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, с которой мы вычисляем условие исключения RemoteAddr
"RequestHeader"
RequestURI (обязательный)
селектор Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. струна
оператор совпадения селектора Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. "Содержит"
"EndsWith"
"Равно"
"StartsWith"
valueMatchOperator Работает с допустимыми значениями для matchVariable "Содержит"
"EndsWith"
"Равно"
"IPMatch"
"StartsWith" (обязательно)
Значения Допустимые значения для сопоставленияVariable строка[]

ExclusionManagedRule (Правило ExclusionManagedRule)

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

ExclusionManagedRuleGroup (Группа исключений)

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

ExclusionManagedRuleSet (Набор исключений)

Имя Описание Ценность
Группы правил Определяет группы правил, применяемые к набору правил. ExclusionManagedRuleGroup[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

GroupByUserSession

Имя Описание Ценность
groupByVariables Список групп по переменным предложения. GroupByVariable[] (обязательно)

GroupByVariable

Имя Описание Ценность
имя_переменной Переменная предложения сеанса пользователя. ClientAddr
GeoLocation
"Нет" (обязательно)

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

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

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

Имя Описание Ценность
действие Описывает действие переопределения, которое будет применяться при совпадении правил. "Разрешить"
«Оценка аномалий»
"Блокировать"
"JSChallenge"
Log
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
чувствительность Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"
"Нет"
государство Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"

ManagedRulesDefinition (УправляемоеОпределение правил)

Имя Описание Ценность
Исключения Исключения, применяемые к политике. ИсключениеЗапись[]
Исключения Исключения, применяемые к политике. OwaspCrsExclusionEntry[]
managedRuleSets Управляемые наборы правил, связанные с политикой. ManagedRuleSet[] (обязательно)

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

Имя Описание Ценность
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

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

Имя Описание Ценность
matchValues Значение соответствия. string[] (обязательно)
matchVariables Список переменных соответствия. MatchVariable[] (обязательно)
отрицаниеConditon Является ли это неуготным условием или нет. булевая переменная (bool)
оператор Оператор, который нужно сопоставить. "Любой"
BeginsWith
"Содержит"
"EndsWith"
"Равно"
"GeoMatch"
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
"LessThanOrEqual"
Regex (обязательный)
Преобразует Список преобразований. Массив строк, содержащий любой из:
"HtmlEntityDecode"
Нижний регистр
RemoveNulls
"Обрезка"
"Верхний регистр"
UrlDecode
UrlEncode

MatchVariable (Переменная соответствия)

Имя Описание Ценность
селектор Селектор переменной соответствия. струна
имя_переменной Совпадать с переменной. PostArgs
QueryString
RemoteAddr
"RequestBody"
"RequestCookies"
"RequestHeaders"
RequestMethod
RequestUri (обязательный)

OwaspCrsExclusionEntry

Имя Описание Ценность
exclusionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, изменяемая. RequestArgKeys
"RequestArgNames"
RequestArgValues
RequestCookieKeys
"RequestCookieNames"
"RequestCookieValues"
RequestHeaderKeys
"RequestHeaderNames"
RequestHeaderValues (обязательный)
селектор Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. строка (обязательно)
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

PolicySettings (PolicySettings)

Имя Описание Ценность
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. струна

Ограничения целостности:
Максимальная длина = 32768
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int

Ограничения целостности:
Минимальное значение = 0
fileUploadEnforcement Разрешить WAF применять ограничения отправки файлов. булевая переменная (bool)
fileUploadLimitInMb Максимальный размер отправки файла в Мб для WAF. int

Ограничения целостности:
Минимальное значение = 0
jsChallengeCookieExpirationInMins Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Чтобы скубировать конфиденциальные поля журнала PolicySettingsLogScrubbing
maxRequestBodySizeInKb Максимальный размер текста запроса в КБ для WAF. int

Ограничения целостности:
Минимальное значение = 8
режим Режим политики. "Обнаружение"
"Предотвращение"
requestBodyCheck Следует ли разрешить WAF проверять текст запроса. булевая переменная (bool)
requestBodyEnforcement Разрешить WAF применять ограничения текста запроса. булевая переменная (bool)
requestBodyInspectLimitInKB Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. инт
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
действие Тип действий. "Разрешить"
"Блокировать"
"JSChallenge"
Log (обязательно)
groupByUserSession Список групп идентификаторов сеансов пользователя по предложениям. GroupByUserSession[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. струна

Ограничения целостности:
Максимальная длина = 128
приоритет Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDuration Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. «Пять минут»
"OneMin"
rateLimitThreshold Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 инт
Тип правила Тип правила. "Недопустимый"
MatchRule
RateLimitRule (обязательный)
государство Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"

WebApplicationFirewallPolicyPropertiesFormat

Имя Описание Ценность
customRules Пользовательские правила внутри политики. WebApplicationFirewallCustomRule[]
managedRules Описывает структуру managedRules. ManagedRulesDefinition (обязательно)
настройки политики PolicySettings для политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

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

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

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

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

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

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

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

Bicep-файл Описание
кластер AKS с шлюзом NAT и шлюзом приложений В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений.
кластер AKS с контроллером входящего трафика шлюза приложений В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
шлюз приложений для маршрутизации на основе URL-адресов Этот шаблон создает шлюз приложений и настраивает его для маршрутизации на основе URL-адресов.
Шлюз приложений с помощью политики WAF и брандмауэра Этот шаблон создает шлюз приложений с помощью WAF, настроенного вместе с политикой брандмауэра
Создание Azure WAF версии 2 в шлюзе приложений Azure Этот шаблон создает брандмауэр веб-приложений Azure версии 2 на шлюзе приложений Azure с двумя серверами Windows Server 2016 в серверном пуле.
Front Door Standard/Premium с источником шлюза приложений Этот шаблон создает экземпляр Front Door Standard/Premium и экземпляр шлюза приложений и использует политику NSG и WAF для проверки того, что трафик прошел через источник Front Door.
Front Door с экземплярами контейнеров и шлюза приложений Этот шаблон создает Front Door Standard/Premium с группой контейнеров и шлюзом приложений.

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

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

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

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

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

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2024-05-01",
  "name": "string",
  "location": "string",
  "properties": {
    "customRules": [
      {
        "action": "string",
        "groupByUserSession": [
          {
            "groupByVariables": [
              {
                "variableName": "string"
              }
            ]
          }
        ],
        "matchConditions": [
          {
            "matchValues": [ "string" ],
            "matchVariables": [
              {
                "selector": "string",
                "variableName": "string"
              }
            ],
            "negationConditon": "bool",
            "operator": "string",
            "transforms": [ "string" ]
          }
        ],
        "name": "string",
        "priority": "int",
        "rateLimitDuration": "string",
        "rateLimitThreshold": "int",
        "ruleType": "string",
        "state": "string"
      }
    ],
    "managedRules": {
      "exceptions": [
        {
          "exceptionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string",
          "valueMatchOperator": "string",
          "values": [ "string" ]
        }
      ],
      "exclusions": [
        {
          "exclusionManagedRuleSets": [
            {
              "ruleGroups": [
                {
                  "ruleGroupName": "string",
                  "rules": [
                    {
                      "ruleId": "string"
                    }
                  ]
                }
              ],
              "ruleSetType": "string",
              "ruleSetVersion": "string"
            }
          ],
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string"
        }
      ],
      "managedRuleSets": [
        {
          "ruleGroupOverrides": [
            {
              "ruleGroupName": "string",
              "rules": [
                {
                  "action": "string",
                  "ruleId": "string",
                  "sensitivity": "string",
                  "state": "string"
                }
              ]
            }
          ],
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "customBlockResponseBody": "string",
      "customBlockResponseStatusCode": "int",
      "fileUploadEnforcement": "bool",
      "fileUploadLimitInMb": "int",
      "jsChallengeCookieExpirationInMins": "int",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "requestBodyEnforcement": "bool",
      "requestBodyInspectLimitInKB": "int",
      "state": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Имя Описание Ценность
apiVersion Версия API '2024-05-01'
местоположение Расположение ресурса. струна
имя Имя ресурса струна

Ограничения целостности:
Максимальная длина = 128 (обязательно)
свойства Свойства политики брандмауэра веб-приложения. WebApplicationFirewallPolicyPropertiesFormat
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies"

ИсключениеВход

Имя Описание Ценность
exceptionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, с которой мы вычисляем условие исключения RemoteAddr
"RequestHeader"
RequestURI (обязательный)
селектор Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. струна
оператор совпадения селектора Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. "Содержит"
"EndsWith"
"Равно"
"StartsWith"
valueMatchOperator Работает с допустимыми значениями для matchVariable "Содержит"
"EndsWith"
"Равно"
"IPMatch"
"StartsWith" (обязательно)
Значения Допустимые значения для сопоставленияVariable строка[]

ExclusionManagedRule (Правило ExclusionManagedRule)

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

ExclusionManagedRuleGroup (Группа исключений)

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

ExclusionManagedRuleSet (Набор исключений)

Имя Описание Ценность
Группы правил Определяет группы правил, применяемые к набору правил. ExclusionManagedRuleGroup[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

GroupByUserSession

Имя Описание Ценность
groupByVariables Список групп по переменным предложения. GroupByVariable[] (обязательно)

GroupByVariable

Имя Описание Ценность
имя_переменной Переменная предложения сеанса пользователя. ClientAddr
GeoLocation
"Нет" (обязательно)

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

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

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

Имя Описание Ценность
действие Описывает действие переопределения, которое будет применяться при совпадении правил. "Разрешить"
«Оценка аномалий»
"Блокировать"
"JSChallenge"
Log
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
чувствительность Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"
"Нет"
государство Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"

ManagedRulesDefinition (УправляемоеОпределение правил)

Имя Описание Ценность
Исключения Исключения, применяемые к политике. ИсключениеЗапись[]
Исключения Исключения, применяемые к политике. OwaspCrsExclusionEntry[]
managedRuleSets Управляемые наборы правил, связанные с политикой. ManagedRuleSet[] (обязательно)

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

Имя Описание Ценность
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

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

Имя Описание Ценность
matchValues Значение соответствия. string[] (обязательно)
matchVariables Список переменных соответствия. MatchVariable[] (обязательно)
отрицаниеConditon Является ли это неуготным условием или нет. булевая переменная (bool)
оператор Оператор, который нужно сопоставить. "Любой"
BeginsWith
"Содержит"
"EndsWith"
"Равно"
"GeoMatch"
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
"LessThanOrEqual"
Regex (обязательный)
Преобразует Список преобразований. Массив строк, содержащий любой из:
"HtmlEntityDecode"
Нижний регистр
RemoveNulls
"Обрезка"
"Верхний регистр"
UrlDecode
UrlEncode

MatchVariable (Переменная соответствия)

Имя Описание Ценность
селектор Селектор переменной соответствия. струна
имя_переменной Совпадать с переменной. PostArgs
QueryString
RemoteAddr
"RequestBody"
"RequestCookies"
"RequestHeaders"
RequestMethod
RequestUri (обязательный)

OwaspCrsExclusionEntry

Имя Описание Ценность
exclusionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, изменяемая. RequestArgKeys
"RequestArgNames"
RequestArgValues
RequestCookieKeys
"RequestCookieNames"
"RequestCookieValues"
RequestHeaderKeys
"RequestHeaderNames"
RequestHeaderValues (обязательный)
селектор Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. строка (обязательно)
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

PolicySettings (PolicySettings)

Имя Описание Ценность
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. струна

Ограничения целостности:
Максимальная длина = 32768
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int

Ограничения целостности:
Минимальное значение = 0
fileUploadEnforcement Разрешить WAF применять ограничения отправки файлов. булевая переменная (bool)
fileUploadLimitInMb Максимальный размер отправки файла в Мб для WAF. int

Ограничения целостности:
Минимальное значение = 0
jsChallengeCookieExpirationInMins Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Чтобы скубировать конфиденциальные поля журнала PolicySettingsLogScrubbing
maxRequestBodySizeInKb Максимальный размер текста запроса в КБ для WAF. int

Ограничения целостности:
Минимальное значение = 8
режим Режим политики. "Обнаружение"
"Предотвращение"
requestBodyCheck Следует ли разрешить WAF проверять текст запроса. булевая переменная (bool)
requestBodyEnforcement Разрешить WAF применять ограничения текста запроса. булевая переменная (bool)
requestBodyInspectLimitInKB Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. инт
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
действие Тип действий. "Разрешить"
"Блокировать"
"JSChallenge"
Log (обязательно)
groupByUserSession Список групп идентификаторов сеансов пользователя по предложениям. GroupByUserSession[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. струна

Ограничения целостности:
Максимальная длина = 128
приоритет Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDuration Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. «Пять минут»
"OneMin"
rateLimitThreshold Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 инт
Тип правила Тип правила. "Недопустимый"
MatchRule
RateLimitRule (обязательный)
государство Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"

WebApplicationFirewallPolicyPropertiesFormat

Имя Описание Ценность
customRules Пользовательские правила внутри политики. WebApplicationFirewallCustomRule[]
managedRules Описывает структуру managedRules. ManagedRulesDefinition (обязательно)
настройки политики PolicySettings для политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

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

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

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

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

Шаблон Описание
кластер AKS с шлюзом NAT и шлюзом приложений

развертывание в Azure
В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений.
кластер AKS с контроллером входящего трафика шлюза приложений

развертывание в Azure
В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
шлюз приложений для маршрутизации на основе URL-адресов

развертывание в Azure
Этот шаблон создает шлюз приложений и настраивает его для маршрутизации на основе URL-адресов.
Шлюз приложений с помощью политики WAF и брандмауэра

развертывание в Azure
Этот шаблон создает шлюз приложений с помощью WAF, настроенного вместе с политикой брандмауэра
Создание Azure WAF версии 2 в шлюзе приложений Azure

развертывание в Azure
Этот шаблон создает брандмауэр веб-приложений Azure версии 2 на шлюзе приложений Azure с двумя серверами Windows Server 2016 в серверном пуле.
Front Door Standard/Premium с источником шлюза приложений

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

развертывание в Azure
Этот шаблон создает Front Door Standard/Premium с группой контейнеров и шлюзом приложений.

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

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

  • групп ресурсов

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

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

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-05-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      customRules = [
        {
          action = "string"
          groupByUserSession = [
            {
              groupByVariables = [
                {
                  variableName = "string"
                }
              ]
            }
          ]
          matchConditions = [
            {
              matchValues = [
                "string"
              ]
              matchVariables = [
                {
                  selector = "string"
                  variableName = "string"
                }
              ]
              negationConditon = bool
              operator = "string"
              transforms = [
                "string"
              ]
            }
          ]
          name = "string"
          priority = int
          rateLimitDuration = "string"
          rateLimitThreshold = int
          ruleType = "string"
          state = "string"
        }
      ]
      managedRules = {
        exceptions = [
          {
            exceptionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
            valueMatchOperator = "string"
            values = [
              "string"
            ]
          }
        ]
        exclusions = [
          {
            exclusionManagedRuleSets = [
              {
                ruleGroups = [
                  {
                    ruleGroupName = "string"
                    rules = [
                      {
                        ruleId = "string"
                      }
                    ]
                  }
                ]
                ruleSetType = "string"
                ruleSetVersion = "string"
              }
            ]
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
          }
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "string"
                rules = [
                  {
                    action = "string"
                    ruleId = "string"
                    sensitivity = "string"
                    state = "string"
                  }
                ]
              }
            ]
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        customBlockResponseBody = "string"
        customBlockResponseStatusCode = int
        fileUploadEnforcement = bool
        fileUploadLimitInMb = int
        jsChallengeCookieExpirationInMins = int
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        requestBodyEnforcement = bool
        requestBodyInspectLimitInKB = int
        state = "string"
      }
    }
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

Имя Описание Ценность
местоположение Расположение ресурса. струна
имя Имя ресурса струна

Ограничения целостности:
Максимальная длина = 128 (обязательно)
свойства Свойства политики брандмауэра веб-приложения. WebApplicationFirewallPolicyPropertiesFormat
Теги Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-05-01"

ИсключениеВход

Имя Описание Ценность
exceptionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, с которой мы вычисляем условие исключения RemoteAddr
"RequestHeader"
RequestURI (обязательный)
селектор Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. струна
оператор совпадения селектора Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. "Содержит"
"EndsWith"
"Равно"
"StartsWith"
valueMatchOperator Работает с допустимыми значениями для matchVariable "Содержит"
"EndsWith"
"Равно"
"IPMatch"
"StartsWith" (обязательно)
Значения Допустимые значения для сопоставленияVariable строка[]

ExclusionManagedRule (Правило ExclusionManagedRule)

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

ExclusionManagedRuleGroup (Группа исключений)

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

ExclusionManagedRuleSet (Набор исключений)

Имя Описание Ценность
Группы правил Определяет группы правил, применяемые к набору правил. ExclusionManagedRuleGroup[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

GroupByUserSession

Имя Описание Ценность
groupByVariables Список групп по переменным предложения. GroupByVariable[] (обязательно)

GroupByVariable

Имя Описание Ценность
имя_переменной Переменная предложения сеанса пользователя. ClientAddr
GeoLocation
"Нет" (обязательно)

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

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

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

Имя Описание Ценность
действие Описывает действие переопределения, которое будет применяться при совпадении правил. "Разрешить"
«Оценка аномалий»
"Блокировать"
"JSChallenge"
Log
Идентификатор правила Идентификатор управляемого правила. строка (обязательно)
чувствительность Описывает чувствительность переопределения, применяемую при совпадении правил. "Высокий"
"Низкий"
"Средний"
"Нет"
государство Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. "Отключено"
"Включено"

ManagedRulesDefinition (УправляемоеОпределение правил)

Имя Описание Ценность
Исключения Исключения, применяемые к политике. ИсключениеЗапись[]
Исключения Исключения, применяемые к политике. OwaspCrsExclusionEntry[]
managedRuleSets Управляемые наборы правил, связанные с политикой. ManagedRuleSet[] (обязательно)

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

Имя Описание Ценность
ruleGroupOverrides Определяет переопределение группы правил для применения к набору правил. ManagedRuleGroupOverride[]
тип набора правил Определяет используемый тип набора правил. строка (обязательно)
версия набора правил Определяет версию используемого набора правил. строка (обязательно)

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

Имя Описание Ценность
matchValues Значение соответствия. string[] (обязательно)
matchVariables Список переменных соответствия. MatchVariable[] (обязательно)
отрицаниеConditon Является ли это неуготным условием или нет. булевая переменная (bool)
оператор Оператор, который нужно сопоставить. "Любой"
BeginsWith
"Содержит"
"EndsWith"
"Равно"
"GeoMatch"
«Больше, чем»
«Больше, чем Или Равно»
"IPMatch"
"LessThan"
"LessThanOrEqual"
Regex (обязательный)
Преобразует Список преобразований. Массив строк, содержащий любой из:
"HtmlEntityDecode"
Нижний регистр
RemoveNulls
"Обрезка"
"Верхний регистр"
UrlDecode
UrlEncode

MatchVariable (Переменная соответствия)

Имя Описание Ценность
селектор Селектор переменной соответствия. струна
имя_переменной Совпадать с переменной. PostArgs
QueryString
RemoteAddr
"RequestBody"
"RequestCookies"
"RequestHeaders"
RequestMethod
RequestUri (обязательный)

OwaspCrsExclusionEntry

Имя Описание Ценность
exclusionManagedRuleSets Управляемые наборы правил, связанные с исключением. ExclusionManagedRuleSet[]
matchVariable Переменная, изменяемая. RequestArgKeys
"RequestArgNames"
RequestArgValues
RequestCookieKeys
"RequestCookieNames"
"RequestCookieValues"
RequestHeaderKeys
"RequestHeaderNames"
RequestHeaderValues (обязательный)
селектор Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. строка (обязательно)
оператор совпадения селектора Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. "Содержит"
"EndsWith"
"Равно"
"EqualsAny"
"StartsWith" (обязательно)

PolicySettings (PolicySettings)

Имя Описание Ценность
customBlockResponseBody Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. струна

Ограничения целостности:
Максимальная длина = 32768
Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Если тип действия является блоком, клиент может переопределить код состояния ответа. int

Ограничения целостности:
Минимальное значение = 0
fileUploadEnforcement Разрешить WAF применять ограничения отправки файлов. булевая переменная (bool)
fileUploadLimitInMb Максимальный размер отправки файла в Мб для WAF. int

Ограничения целостности:
Минимальное значение = 0
jsChallengeCookieExpirationInMins Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. int

Ограничения целостности:
Минимальное значение = 5
Максимальное значение = 1440
logScrubbing Чтобы скубировать конфиденциальные поля журнала PolicySettingsLogScrubbing
maxRequestBodySizeInKb Максимальный размер текста запроса в КБ для WAF. int

Ограничения целостности:
Минимальное значение = 8
режим Режим политики. "Обнаружение"
"Предотвращение"
requestBodyCheck Следует ли разрешить WAF проверять текст запроса. булевая переменная (bool)
requestBodyEnforcement Разрешить WAF применять ограничения текста запроса. булевая переменная (bool)
requestBodyInspectLimitInKB Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. инт
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
действие Тип действий. "Разрешить"
"Блокировать"
"JSChallenge"
Log (обязательно)
groupByUserSession Список групп идентификаторов сеансов пользователя по предложениям. GroupByUserSession[]
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. струна

Ограничения целостности:
Максимальная длина = 128
приоритет Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
rateLimitDuration Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. «Пять минут»
"OneMin"
rateLimitThreshold Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 инт
Тип правила Тип правила. "Недопустимый"
MatchRule
RateLimitRule (обязательный)
государство Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. "Отключено"
"Включено"

WebApplicationFirewallPolicyPropertiesFormat

Имя Описание Ценность
customRules Пользовательские правила внутри политики. WebApplicationFirewallCustomRule[]
managedRules Описывает структуру managedRules. ManagedRulesDefinition (обязательно)
настройки политики PolicySettings для политики. PolicySettings (PolicySettings)

WebApplicationFirewallScrubbingRules

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

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

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

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

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