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


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

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

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

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

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

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

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-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'
  }
}

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

ExceptionEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

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

ExclusionManagedRuleSet

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

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

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

ManagedRuleOverride

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

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

OwaspCrsExclusionEntry

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

PolicySettings

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

Ограничения целостности:
Максимальная длина =
Pattern = ^(?:[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. int
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

ResourceTags

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

WebApplicationFirewallCustomRule

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

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

WebApplicationFirewallPolicyPropertiesFormat

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

WebApplicationFirewallScrubbingRules

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

Примеры краткого руководства

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

Bicep-файл Описание
кластер AKS с шлюзом NAT и шлюзом приложений В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений.
кластер AKS с контроллером входящего трафика шлюза приложений В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
Шлюз приложений с помощью политики 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-03-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"
  }
}

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

ExceptionEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

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

ExclusionManagedRuleSet

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

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

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

ManagedRuleOverride

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

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

OwaspCrsExclusionEntry

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

PolicySettings

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

Ограничения целостности:
Максимальная длина =
Pattern = ^(?:[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. int
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

ResourceTags

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

WebApplicationFirewallCustomRule

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

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

WebApplicationFirewallPolicyPropertiesFormat

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

WebApplicationFirewallScrubbingRules

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

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

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

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

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

развертывание в Azure
В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
Шлюз приложений с помощью политики 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-03-01"
  name = "string"
  location = "string"
  body = jsonencode({
    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"
  }
}

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

ExceptionEntry

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

ExclusionManagedRule

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

ExclusionManagedRuleGroup

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

ExclusionManagedRuleSet

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

GroupByUserSession

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

GroupByVariable

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

ManagedRuleGroupOverride

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

ManagedRuleOverride

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

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

OwaspCrsExclusionEntry

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

PolicySettings

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

Ограничения целостности:
Максимальная длина =
Pattern = ^(?:[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. int
государство Состояние политики. "Отключено"
"Включено"

PolicySettingsLogScrubbing

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

ResourceTags

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

WebApplicationFirewallCustomRule

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

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

WebApplicationFirewallPolicyPropertiesFormat

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

WebApplicationFirewallScrubbingRules

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