Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определение ресурсов Bicep
Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
customRules: {
rules: [
{
action: 'string'
enabledState: 'string'
groupBy: [
{
variableName: 'string'
}
]
matchConditions: [
{
matchValue: [
'string'
]
matchVariable: 'string'
negateCondition: bool
operator: 'string'
selector: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDurationInMinutes: int
rateLimitThreshold: int
ruleType: 'string'
}
]
}
managedRules: {
exceptionsList: {
exceptions: [
{
matchValues: [
'string'
]
matchVariable: 'string'
scopes: [
{
ruleGroupScopes: [
{
ruleGroupName: 'string'
ruleScopes: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
selector: 'string'
selectorMatchOperator: 'string'
valueMatchOperator: 'string'
}
]
}
managedRuleSets: [
{
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleGroupOverrides: [
{
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleGroupName: 'string'
rules: [
{
action: 'string'
enabledState: 'string'
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleId: 'string'
sensitivity: 'string'
}
]
}
]
ruleSetAction: 'string'
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
captchaExpirationInMinutes: int
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
enabledState: 'string'
javascriptChallengeExpirationInMinutes: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
mode: 'string'
redirectUrl: 'string'
requestBodyCheck: 'string'
}
}
sku: {
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| location | Расположение ресурса. | струна |
| имя | имя ресурса. | string Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| sku | Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. | Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
CustomRule
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает, какое действие должно быть применено при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| группироватьПо | Описывает список переменных для группировки запросов на ограничение скорости | GroupByVariable[] |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | string Ограничения целостности: Максимальная длина = 128 |
| priority | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на одного клиента в течение временного окна. | int Ограничения целостности: Минимальное значение = 0 |
| ruleType | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| правила | Список правил | Пользовательское правило[] |
GroupByVariable
| Имя | Описание | Ценность |
|---|---|---|
| variableName | Описание поддерживаемой переменной для группы по | GeoLocation "Нет" 'SocketAddr' (обязательно) |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| selector | Значение селектора, к каким элементам в коллекции применяется данное исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает действие переопределения, которое будет применяться при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' 'Redirect' |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, которые применяются к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
| sensitivity | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| ruleSetAction | Определяет действие набора правил. | "Блокировать" 'Log' 'Redirect' |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetException
| Имя | Описание | Ценность |
|---|---|---|
| matchValues | Список значений для сопоставления. | string[] (обязательно) |
| matchVariable | Переменная, которую нужно оценить для исключения запроса. | "RequestHeaderNames" 'RequestUri' 'SocketAddr' (обязательно) |
| scopes | Область действия(ов) исключения. | ManagedRuleSetScope[] (обязательно) |
| selector | Когда matchVariable — это коллекция, оператор, используемый для указания элементов В коллекции это исключение применимо к. В настоящее время поддерживается только для RequestHeaderNames. |
струна |
| оператор совпадения селектора | Оператор сравнения, который применяется к селектору при указании элементов В коллекции это исключение применимо к. |
"Равно" |
| valueMatchOperator | Оператор сравнения, чтобы применить к сопоставленному значению. | "Содержит" "EndsWith" "Равно" "EqualsAny" "IPMatch" "StartsWith" (обязательно) |
ManagedRuleSetExceptionList
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Список исключений. | ManagedRuleSetException[] |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| исключенияСписок | Список исключений, применяемых к управляемым наборам правил. | ManagedRuleSetExceptionList |
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
ManagedRuleSetScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupScopes | Список областей применения групп правил. | RuleGroupScope[] |
| тип набора правил | Определяет тип набора правил. Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet, Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection |
строка (обязательно) |
| версия набора правил | Определяет версию набора правил. | строка (обязательно) |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения. | 'Cookies' 'JA4' 'PostArgs' 'QueryString' RemoteAddr 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | bool |
| operator | Тип сравнения, используемый для сопоставления со значением переменной. | 'Any' 'AsnMatch' 'BeginsWith' «Отпечаток клиента» "Содержит" "EndsWith" 'Equal' 'GeoMatch' «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" 'LessThanOrEqual' 'RegEx' 'ServiceTagMatch' (обязательно) |
| selector | Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. | струна |
| transforms | Список преобразований. | Массив строк, содержащий любой из: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| captchaExpirationInMinutes | Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | string Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int |
| enabledState | Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| javascriptChallengeExpirationInMinutes | Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| logScrubbing | Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. | PolicySettingsLogScrubbing |
| mode | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия — редирект, то это поле представляет URL редиректа для клиента. | струна |
| requestBodyCheck | Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
| Имя | Описание | Ценность |
|---|---|---|
| Правила перемотки | Список правил очистки журналов, применяемых к журналам Web Application Firewall. | WebApplicationFirewallScrubbingRules[] |
| государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Теги ресурса
| Имя | Описание | Ценность |
|---|
RuleGroupScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupName | Определяет название группы правил. | строка (обязательно) |
| ruleScopes | Список объёмов правил. | RuleScope[] |
RuleScope
| Имя | Описание | Ценность |
|---|---|---|
| Идентификатор правила | Определяет идентификатор правила. | строка (обязательно) |
Sku
| Имя | Описание | Ценность |
|---|---|---|
| имя | Имя ценовой категории. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описывает параметры политики. | PolicySettings (PolicySettings) |
WebApplicationFirewallScrubbingRules
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Переменная для очистки из журналов. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress 'RequestUri' (обязательно) |
| selector | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
| оператор совпадения селектора | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
| государство | Определяет состояние правила очистки журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Примеры использования
Примеры Bicep
Простой пример развертывания экземпляра политики брандмауэра Front Door Firewall.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource frontDoorWebApplicationFirewallPolicy 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2020-11-01' = {
name: resourceName
location: 'global'
sku: {
name: 'Premium_AzureFrontDoor'
}
properties: {
customRules: {
rules: [
{
action: 'Block'
enabledState: 'Enabled'
matchConditions: [
{
matchValue: [
'192.168.1.0/24'
'10.0.0.0/24'
]
matchVariable: 'RemoteAddr'
negateCondition: false
operator: 'IPMatch'
}
]
name: 'Rule1'
priority: 1
rateLimitDurationInMinutes: 1
rateLimitThreshold: 10
ruleType: 'MatchRule'
}
]
}
managedRules: {
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'PHP'
rules: [
{
action: 'Block'
enabledState: 'Disabled'
ruleId: '933111'
}
]
}
]
ruleSetAction: 'Block'
ruleSetType: 'DefaultRuleSet'
ruleSetVersion: 'preview-0.1'
}
{
ruleSetAction: 'Block'
ruleSetType: 'BotProtection'
ruleSetVersion: 'preview-0.1'
}
]
}
policySettings: {
customBlockResponseBody: 'PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=='
customBlockResponseStatusCode: 403
enabledState: 'Enabled'
mode: 'Prevention'
redirectUrl: 'https://www.fabrikam.com'
}
}
}
Проверенные модули Azure
Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.
| Модуль | Описание |
|---|---|
| политика брандмауэра веб-приложений Front Door (WAF) | Модуль ресурсов AVM для политики брандмауэра веб-приложений Front Door (WAF) |
Примеры быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.
| Bicep-файл | Описание |
|---|---|
| Настройка управляемого waF defaultRuleSet для Azure Front Door | Этот шаблон настраивает управляемый WAF defaultRuleSet для Azure Front Door |
| Front Door Premium с источником BLOB-объектов и приватным каналом | Этот шаблон создает контейнер BLOB-объектов службы хранилища Azure Front Door premium и использует частную конечную точку для Front Door для отправки трафика в учетную запись хранения. |
| Front Door Premium с наборами правил, управляемыми Корпорацией Майкрософт, | Этот шаблон создает Front Door Premium, включая брандмауэр веб-приложения с наборами правил защиты ботов, управляемых Корпорацией Майкрософт. |
| Front Door Standard/Premium с геофильтровкой | Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом геофильтрации. |
| Front Door Standard/Premium с ограничением скорости | Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом ограничения скорости. |
| Front Door Standard/Premium с WAF и пользовательским правилом | Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с настраиваемым правилом. |
| Front Door с источниками BLOB-объектов для отправки | Этот шаблон создает Front Door с источниками, маршрутами и наборами правил и учетными записями хранения Azure с контейнерами BLOB-объектов. Front Door отправляет трафик в учетные записи хранения при отправке файлов. |
| CDN FrontDoor с WAF, доменами и журналами в EventHub | Этот шаблон создает новый профиль cdn Azure FrontDoor. Создайте WAF с настраиваемыми и управляемыми правилами, маршрутами cdn, источником и группами с их связью с WAF и маршрутами, настраивает настраиваемые домены, создает концентратор событий и параметры диагностики для отправки журналов доступа CDN с помощью концентратора событий. |
| приложение-функция , защищенное Azure Frontdoor | Этот шаблон позволяет развернуть функцию Azure premium, защищенную и опубликованную Azure Frontdoor premium. Соединение между Azure Frontdoor и Функциями Azure защищено приватным каналом Azure. |
Определение ресурса ARM-шаблона
Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий код JSON в шаблон.
{
"type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
"apiVersion": "2025-11-01",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"customRules": {
"rules": [
{
"action": "string",
"enabledState": "string",
"groupBy": [
{
"variableName": "string"
}
],
"matchConditions": [
{
"matchValue": [ "string" ],
"matchVariable": "string",
"negateCondition": "bool",
"operator": "string",
"selector": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDurationInMinutes": "int",
"rateLimitThreshold": "int",
"ruleType": "string"
}
]
},
"managedRules": {
"exceptionsList": {
"exceptions": [
{
"matchValues": [ "string" ],
"matchVariable": "string",
"scopes": [
{
"ruleGroupScopes": [
{
"ruleGroupName": "string",
"ruleScopes": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"selector": "string",
"selectorMatchOperator": "string",
"valueMatchOperator": "string"
}
]
},
"managedRuleSets": [
{
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleGroupOverrides": [
{
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"enabledState": "string",
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleId": "string",
"sensitivity": "string"
}
]
}
],
"ruleSetAction": "string",
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"captchaExpirationInMinutes": "int",
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"enabledState": "string",
"javascriptChallengeExpirationInMinutes": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"mode": "string",
"redirectUrl": "string",
"requestBodyCheck": "string"
}
},
"sku": {
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| apiVersion | Версия API | '2025-11-01' |
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| location | Расположение ресурса. | струна |
| имя | имя ресурса. | string Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| sku | Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. | Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| тип | Тип ресурса | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies" |
CustomRule
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает, какое действие должно быть применено при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| группироватьПо | Описывает список переменных для группировки запросов на ограничение скорости | GroupByVariable[] |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | string Ограничения целостности: Максимальная длина = 128 |
| priority | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на одного клиента в течение временного окна. | int Ограничения целостности: Минимальное значение = 0 |
| ruleType | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| правила | Список правил | Пользовательское правило[] |
GroupByVariable
| Имя | Описание | Ценность |
|---|---|---|
| variableName | Описание поддерживаемой переменной для группы по | GeoLocation "Нет" 'SocketAddr' (обязательно) |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| selector | Значение селектора, к каким элементам в коллекции применяется данное исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает действие переопределения, которое будет применяться при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' 'Redirect' |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, которые применяются к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
| sensitivity | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| ruleSetAction | Определяет действие набора правил. | "Блокировать" 'Log' 'Redirect' |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetException
| Имя | Описание | Ценность |
|---|---|---|
| matchValues | Список значений для сопоставления. | string[] (обязательно) |
| matchVariable | Переменная, которую нужно оценить для исключения запроса. | "RequestHeaderNames" 'RequestUri' 'SocketAddr' (обязательно) |
| scopes | Область действия(ов) исключения. | ManagedRuleSetScope[] (обязательно) |
| selector | Когда matchVariable — это коллекция, оператор, используемый для указания элементов В коллекции это исключение применимо к. В настоящее время поддерживается только для RequestHeaderNames. |
струна |
| оператор совпадения селектора | Оператор сравнения, который применяется к селектору при указании элементов В коллекции это исключение применимо к. |
"Равно" |
| valueMatchOperator | Оператор сравнения, чтобы применить к сопоставленному значению. | "Содержит" "EndsWith" "Равно" "EqualsAny" "IPMatch" "StartsWith" (обязательно) |
ManagedRuleSetExceptionList
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Список исключений. | ManagedRuleSetException[] |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| исключенияСписок | Список исключений, применяемых к управляемым наборам правил. | ManagedRuleSetExceptionList |
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
ManagedRuleSetScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupScopes | Список областей применения групп правил. | RuleGroupScope[] |
| тип набора правил | Определяет тип набора правил. Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet, Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection |
строка (обязательно) |
| версия набора правил | Определяет версию набора правил. | строка (обязательно) |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения. | 'Cookies' 'JA4' 'PostArgs' 'QueryString' RemoteAddr 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | bool |
| operator | Тип сравнения, используемый для сопоставления со значением переменной. | 'Any' 'AsnMatch' 'BeginsWith' «Отпечаток клиента» "Содержит" "EndsWith" 'Equal' 'GeoMatch' «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" 'LessThanOrEqual' 'RegEx' 'ServiceTagMatch' (обязательно) |
| selector | Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. | струна |
| transforms | Список преобразований. | Массив строк, содержащий любой из: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| captchaExpirationInMinutes | Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | string Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int |
| enabledState | Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| javascriptChallengeExpirationInMinutes | Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| logScrubbing | Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. | PolicySettingsLogScrubbing |
| mode | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия — редирект, то это поле представляет URL редиректа для клиента. | струна |
| requestBodyCheck | Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
| Имя | Описание | Ценность |
|---|---|---|
| Правила перемотки | Список правил очистки журналов, применяемых к журналам Web Application Firewall. | WebApplicationFirewallScrubbingRules[] |
| государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Теги ресурса
| Имя | Описание | Ценность |
|---|
RuleGroupScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupName | Определяет название группы правил. | строка (обязательно) |
| ruleScopes | Список объёмов правил. | RuleScope[] |
RuleScope
| Имя | Описание | Ценность |
|---|---|---|
| Идентификатор правила | Определяет идентификатор правила. | строка (обязательно) |
Sku
| Имя | Описание | Ценность |
|---|---|---|
| имя | Имя ценовой категории. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описывает параметры политики. | PolicySettings (PolicySettings) |
WebApplicationFirewallScrubbingRules
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Переменная для очистки из журналов. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress 'RequestUri' (обязательно) |
| selector | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
| оператор совпадения селектора | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
| государство | Определяет состояние правила очистки журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Примеры использования
Шаблоны быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.
| Template | Описание |
|---|---|
|
Настройка ограничения IP-адресов клиента WAF для Azure Front Door |
Этот шаблон настраивает ограничение IP-адресов клиента WAF для конечной точки Azure Front Door |
|
Настройка управляемого waF defaultRuleSet для Azure Front Door |
Этот шаблон настраивает управляемый WAF defaultRuleSet для Azure Front Door |
|
Настройка правила листик скорости WAF для конечной точки Azure Front Door |
Этот шаблон настраивает правило WAF для Azure Front Door для ограничения входящего трафика для данного внешнего узла. |
|
Настройка правил WAF с параметрами HTTP для Front Door |
Этот шаблон настраивает пользовательские правила WAF на основе определенных параметров HTTP для конечной точки Azure Front Door. |
|
создание Azure Front Door перед управления API Azure |
В этом примере показано, как использовать Azure Front Door в качестве глобальной подсистемы балансировки нагрузки перед управлением API Azure. |
|
Создание правила геофильтрации WAF для конечной точки Azure Front Door |
Этот шаблон создает правило геофильтрации WAF для Azure Front Door, которое разрешает или блокирует трафик из определенных стран. |
|
Front Door Premium с источником BLOB-объектов и приватным каналом |
Этот шаблон создает контейнер BLOB-объектов службы хранилища Azure Front Door premium и использует частную конечную точку для Front Door для отправки трафика в учетную запись хранения. |
|
Front Door Premium с наборами правил, управляемыми Корпорацией Майкрософт, |
Этот шаблон создает Front Door Premium, включая брандмауэр веб-приложения с наборами правил защиты ботов, управляемых Корпорацией Майкрософт. |
|
Front Door Standard/Premium с геофильтровкой |
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом геофильтрации. |
|
Front Door Standard/Premium с ограничением скорости |
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с правилом ограничения скорости. |
|
Front Door Standard/Premium с WAF и пользовательским правилом |
Этот шаблон создает Front Door Standard/Premium, включая брандмауэр веб-приложения с настраиваемым правилом. |
|
Front Door с источниками BLOB-объектов для отправки |
Этот шаблон создает Front Door с источниками, маршрутами и наборами правил и учетными записями хранения Azure с контейнерами BLOB-объектов. Front Door отправляет трафик в учетные записи хранения при отправке файлов. |
|
CDN FrontDoor с WAF, доменами и журналами в EventHub |
Этот шаблон создает новый профиль cdn Azure FrontDoor. Создайте WAF с настраиваемыми и управляемыми правилами, маршрутами cdn, источником и группами с их связью с WAF и маршрутами, настраивает настраиваемые домены, создает концентратор событий и параметры диагностики для отправки журналов доступа CDN с помощью концентратора событий. |
| приложение-функция , защищенное Azure Frontdoor |
Этот шаблон позволяет развернуть функцию Azure premium, защищенную и опубликованную Azure Frontdoor premium. Соединение между Azure Frontdoor и Функциями Azure защищено приватным каналом Azure. |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий объект Terraform в шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
etag = "string"
properties = {
customRules = {
rules = [
{
action = "string"
enabledState = "string"
groupBy = [
{
variableName = "string"
}
]
matchConditions = [
{
matchValue = [
"string"
]
matchVariable = "string"
negateCondition = bool
operator = "string"
selector = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDurationInMinutes = int
rateLimitThreshold = int
ruleType = "string"
}
]
}
managedRules = {
exceptionsList = {
exceptions = [
{
matchValues = [
"string"
]
matchVariable = "string"
scopes = [
{
ruleGroupScopes = [
{
ruleGroupName = "string"
ruleScopes = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
selector = "string"
selectorMatchOperator = "string"
valueMatchOperator = "string"
}
]
}
managedRuleSets = [
{
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleGroupOverrides = [
{
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleGroupName = "string"
rules = [
{
action = "string"
enabledState = "string"
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleId = "string"
sensitivity = "string"
}
]
}
]
ruleSetAction = "string"
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
captchaExpirationInMinutes = int
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
enabledState = "string"
javascriptChallengeExpirationInMinutes = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
mode = "string"
redirectUrl = "string"
requestBodyCheck = "string"
}
}
sku = {
name = "string"
}
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| location | Расположение ресурса. | струна |
| имя | имя ресурса. | string Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| sku | Ценовая категория политики брандмауэра веб-приложения. По умолчанию Classic_AzureFrontDoor если не указано. | Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. |
| тип | Тип ресурса | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2025-11-01" |
CustomRule
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает, какое действие должно быть применено при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| группироватьПо | Описывает список переменных для группировки запросов на ограничение скорости | GroupByVariable[] |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | string Ограничения целостности: Максимальная длина = 128 |
| priority | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Временное окно для сброса счетчика ограничений скорости. Значение по умолчанию — 1 минута. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на одного клиента в течение временного окна. | int Ограничения целостности: Минимальное значение = 0 |
| ruleType | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| правила | Список правил | Пользовательское правило[] |
GroupByVariable
| Имя | Описание | Ценность |
|---|---|---|
| variableName | Описание поддерживаемой переменной для группы по | GeoLocation "Нет" 'SocketAddr' (обязательно) |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| selector | Значение селектора, к каким элементам в коллекции применяется данное исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, который будет применяться к селектору при указании к каким элементам в коллекции применяется данное исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| action | Описывает действие переопределения, которое будет применяться при совпадении правил. | 'Allow' «Оценка аномалий» "Блокировать" CAPTCHA "JSChallenge" 'Log' 'Redirect' |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, которые применяются к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
| sensitivity | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| ruleSetAction | Определяет действие набора правил. | "Блокировать" 'Log' 'Redirect' |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetException
| Имя | Описание | Ценность |
|---|---|---|
| matchValues | Список значений для сопоставления. | string[] (обязательно) |
| matchVariable | Переменная, которую нужно оценить для исключения запроса. | "RequestHeaderNames" 'RequestUri' 'SocketAddr' (обязательно) |
| scopes | Область действия(ов) исключения. | ManagedRuleSetScope[] (обязательно) |
| selector | Когда matchVariable — это коллекция, оператор, используемый для указания элементов В коллекции это исключение применимо к. В настоящее время поддерживается только для RequestHeaderNames. |
струна |
| оператор совпадения селектора | Оператор сравнения, который применяется к селектору при указании элементов В коллекции это исключение применимо к. |
"Равно" |
| valueMatchOperator | Оператор сравнения, чтобы применить к сопоставленному значению. | "Содержит" "EndsWith" "Равно" "EqualsAny" "IPMatch" "StartsWith" (обязательно) |
ManagedRuleSetExceptionList
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Список исключений. | ManagedRuleSetException[] |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| исключенияСписок | Список исключений, применяемых к управляемым наборам правил. | ManagedRuleSetExceptionList |
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
ManagedRuleSetScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupScopes | Список областей применения групп правил. | RuleGroupScope[] |
| тип набора правил | Определяет тип набора правил. Примеры: DefaultRuleSet, Microsoft_DefaultRuleSet, Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection |
строка (обязательно) |
| версия набора правил | Определяет версию набора правил. | строка (обязательно) |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения. | 'Cookies' 'JA4' 'PostArgs' 'QueryString' RemoteAddr 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | bool |
| operator | Тип сравнения, используемый для сопоставления со значением переменной. | 'Any' 'AsnMatch' 'BeginsWith' «Отпечаток клиента» "Содержит" "EndsWith" 'Equal' 'GeoMatch' «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" 'LessThanOrEqual' 'RegEx' 'ServiceTagMatch' (обязательно) |
| selector | Сопоставление с определенным ключом из переменных QueryString, PostArgs, RequestHeader или Cookies. Значение по умолчанию — null. | струна |
| transforms | Список преобразований. | Массив строк, содержащий любой из: 'Lowercase' 'RemoveNulls' 'Trim' 'Uppercase' 'UrlDecode' 'UrlEncode' |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| captchaExpirationInMinutes | Определяет срок действия файла cookie Captcha в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | string Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int |
| enabledState | Описывает, находится ли политика в состоянии включенной или отключенной. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| javascriptChallengeExpirationInMinutes | Определяет время жизни файла cookie запроса JavaScript в минутах. Эта настройка применима только к Premium_AzureFrontDoor. Значение должно быть целым числом от 5 до 1440 с значением по умолчанию 30. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
| logScrubbing | Определяет правила, которые записывают конфиденциальные поля в журналы Web Application Firewall. | PolicySettingsLogScrubbing |
| mode | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия — редирект, то это поле представляет URL редиректа для клиента. | струна |
| requestBodyCheck | Описывает, будут ли правила, управляемые политикой, проверять содержимое текста запроса. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
| Имя | Описание | Ценность |
|---|---|---|
| Правила перемотки | Список правил очистки журналов, применяемых к журналам Web Application Firewall. | WebApplicationFirewallScrubbingRules[] |
| государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Теги ресурса
| Имя | Описание | Ценность |
|---|
RuleGroupScope
| Имя | Описание | Ценность |
|---|---|---|
| ruleGroupName | Определяет название группы правил. | строка (обязательно) |
| ruleScopes | Список объёмов правил. | RuleScope[] |
RuleScope
| Имя | Описание | Ценность |
|---|---|---|
| Идентификатор правила | Определяет идентификатор правила. | строка (обязательно) |
Sku
| Имя | Описание | Ценность |
|---|---|---|
| имя | Имя ценовой категории. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описывает параметры политики. | PolicySettings (PolicySettings) |
WebApplicationFirewallScrubbingRules
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Переменная для очистки из журналов. | "QueryStringArgNames" "RequestBodyJsonArgNames" "RequestBodyPostArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress 'RequestUri' (обязательно) |
| selector | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
| оператор совпадения селектора | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
| государство | Определяет состояние правила очистки журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
Примеры использования
Примеры Terraform
Простой пример развертывания экземпляра политики брандмауэра Front Door Firewall.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "FrontDoorWebApplicationFirewallPolicy" {
type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2020-11-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = "global"
body = {
properties = {
customRules = {
rules = [
{
action = "Block"
enabledState = "Enabled"
matchConditions = [
{
matchValue = [
"192.168.1.0/24",
"10.0.0.0/24",
]
matchVariable = "RemoteAddr"
negateCondition = false
operator = "IPMatch"
},
]
name = "Rule1"
priority = 1
rateLimitDurationInMinutes = 1
rateLimitThreshold = 10
ruleType = "MatchRule"
},
]
}
managedRules = {
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "PHP"
rules = [
{
action = "Block"
enabledState = "Disabled"
ruleId = "933111"
},
]
},
]
ruleSetAction = "Block"
ruleSetType = "DefaultRuleSet"
ruleSetVersion = "preview-0.1"
},
{
ruleSetAction = "Block"
ruleSetType = "BotProtection"
ruleSetVersion = "preview-0.1"
},
]
}
policySettings = {
customBlockResponseBody = "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
customBlockResponseStatusCode = 403
enabledState = "Enabled"
mode = "Prevention"
redirectUrl = "https://www.fabrikam.com"
}
}
sku = {
name = "Premium_AzureFrontDoor"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Проверенные модули Azure
Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.
| Модуль | Описание |
|---|---|
| политика брандмауэра веб-приложений Front Door (WAF) | Модуль ресурсов AVM для политики брандмауэра веб-приложений Front Door (WAF) |