Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2018-10-01

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

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

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

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

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

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2018-10-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: [
      {
        action: 'string'
        matchConditions: [
          {
            matchValues: [
              'string'
            ]
            matchVariables: [
              {
                selector: 'string'
                variableName: 'string'
              }
            ]
            negationConditon: bool
            operator: 'string'
            transforms: [
              'string'
            ]
          }
        ]
        name: 'string'
        priority: int
        ruleType: 'string'
      }
    ]
    policySettings: {
      enabledState: 'string'
      mode: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

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

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

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

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

PolicySettings (PolicySettings)

Имя Описание Ценность
enabledState Описывает, находится ли политика в состоянии включено или отключено. "Отключено"
"Включено"
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
action Тип действий. 'Allow'
"Блокировать"
Log (обязательно)
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
ruleType Описывает тип правила. 'Invalid'
MatchRule (обязательный)

WebApplicationFirewallPolicyPropertiesFormat

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

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

Примеры Bicep

Простой пример развертывания экземпляра политики брандмауэра веб-приложения Azure.

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

resource applicationgatewaywebapplicationfirewallpolicy 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-07-01' = {
  name: resourceName
  location: location
  properties: {
    customRules: []
    managedRules: {
      exclusions: []
      managedRuleSets: [
        {
          ruleGroupOverrides: []
          ruleSetType: 'OWASP'
          ruleSetVersion: '3.1'
        }
      ]
    }
    policySettings: {
      fileUploadLimitInMb: 100
      maxRequestBodySizeInKb: 128
      mode: 'Detection'
      requestBodyCheck: true
      state: 'Enabled'
    }
  }
}

Проверенные модули 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": "2018-10-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": [
      {
        "action": "string",
        "matchConditions": [
          {
            "matchValues": [ "string" ],
            "matchVariables": [
              {
                "selector": "string",
                "variableName": "string"
              }
            ],
            "negationConditon": "bool",
            "operator": "string",
            "transforms": [ "string" ]
          }
        ],
        "name": "string",
        "priority": "int",
        "ruleType": "string"
      }
    ],
    "policySettings": {
      "enabledState": "string",
      "mode": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

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

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

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

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

PolicySettings (PolicySettings)

Имя Описание Ценность
enabledState Описывает, находится ли политика в состоянии включено или отключено. "Отключено"
"Включено"
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
action Тип действий. 'Allow'
"Блокировать"
Log (обязательно)
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
ruleType Описывает тип правила. 'Invalid'
MatchRule (обязательный)

WebApplicationFirewallPolicyPropertiesFormat

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

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

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

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

Template Описание
кластер 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@2018-10-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    etag = "string"
    properties = {
      customRules = [
        {
          action = "string"
          matchConditions = [
            {
              matchValues = [
                "string"
              ]
              matchVariables = [
                {
                  selector = "string"
                  variableName = "string"
                }
              ]
              negationConditon = bool
              operator = "string"
              transforms = [
                "string"
              ]
            }
          ]
          name = "string"
          priority = int
          ruleType = "string"
        }
      ]
      policySettings = {
        enabledState = "string"
        mode = "string"
      }
    }
  }
}

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

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

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

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

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

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

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

PolicySettings (PolicySettings)

Имя Описание Ценность
enabledState Описывает, находится ли политика в состоянии включено или отключено. "Отключено"
"Включено"
mode Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. "Обнаружение"
"Предотвращение"

Теги ресурса

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

WebApplicationFirewallCustomRule

Имя Описание Ценность
action Тип действий. 'Allow'
"Блокировать"
Log (обязательно)
matchConditions Список условий соответствия. MatchCondition[] (обязательно)
имя Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. string

Ограничения целостности:
Максимальная длина = 128
priority Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. int (обязательно)
ruleType Описывает тип правила. 'Invalid'
MatchRule (обязательный)

WebApplicationFirewallPolicyPropertiesFormat

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

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

Примеры Terraform

Простой пример развертывания экземпляра политики брандмауэра веб-приложения Azure.

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" "ApplicationGatewayWebApplicationFirewallPolicy" {
  type      = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      customRules = [
      ]
      managedRules = {
        exclusions = [
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
            ]
            ruleSetType    = "OWASP"
            ruleSetVersion = "3.1"
          },
        ]
      }
      policySettings = {
        fileUploadLimitInMb    = 100
        maxRequestBodySizeInKb = 128
        mode                   = "Detection"
        requestBodyCheck       = true
        state                  = "Enabled"
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

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

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

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