Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определение ресурсов Bicep
Тип ресурса FrontDoorWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2019-10-01' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
customRules: {
rules: [
{
action: 'string'
enabledState: '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: {
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'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
enabledState: 'string'
mode: 'string'
redirectUrl: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| местоположение | Расположение ресурса. | струна |
| имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| Теги | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
Пользовательское правило
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает, какое действие следует применять при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | струна Ограничения целостности: Максимальная длина = 128 |
| приоритет | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Время сброса счетчика ограничений скорости. Значение по умолчанию — 1 минуту. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на каждого клиента в течение периода времени. | int Ограничения целостности: Минимальное значение = 0 |
| Тип правила | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| Правила | Список правил | Пользовательское правило[] |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| селектор | Значение селектора, к которому относятся элементы коллекции, к которым применяется это исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, применяемый к селектору при указании элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, применяемые к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения с. | "Файлы cookie" PostArgs QueryString RemoteAddr "RequestBody" "RequestHeader" RequestMethod RequestUri SocketAddr (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | булевая переменная (bool) |
| оператор | Тип сравнения, используемый для сопоставления со значением переменной. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" "LessThanOrEqual" RegEx (обязательно) |
| селектор | Соответствует определенному ключу из переменных QueryString, PostArgs, RequestHeader или Cookie. Значение по умолчанию равно NULL. | струна |
| Преобразует | Список преобразований. | Массив строк, содержащий любой из: Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | инт |
| enabledState | Описывает, включена ли политика или отключена. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| режим | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия перенаправляется, это поле представляет URL-адрес перенаправления для клиента. | струна |
Теги ресурса
| Имя | Описание | Ценность |
|---|
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описание параметров политики. | PolicySettings (PolicySettings) |
Примеры использования
Примеры 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": "2019-10-01",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"customRules": {
"rules": [
{
"action": "string",
"enabledState": "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": {
"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"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"enabledState": "string",
"mode": "string",
"redirectUrl": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| apiVersion | Версия API | '2019-10-01' |
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| местоположение | Расположение ресурса. | струна |
| имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| Теги | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| тип | Тип ресурса | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies" |
Пользовательское правило
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает, какое действие следует применять при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | струна Ограничения целостности: Максимальная длина = 128 |
| приоритет | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Время сброса счетчика ограничений скорости. Значение по умолчанию — 1 минуту. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на каждого клиента в течение периода времени. | int Ограничения целостности: Минимальное значение = 0 |
| Тип правила | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| Правила | Список правил | Пользовательское правило[] |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| селектор | Значение селектора, к которому относятся элементы коллекции, к которым применяется это исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, применяемый к селектору при указании элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, применяемые к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения с. | "Файлы cookie" PostArgs QueryString RemoteAddr "RequestBody" "RequestHeader" RequestMethod RequestUri SocketAddr (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | булевая переменная (bool) |
| оператор | Тип сравнения, используемый для сопоставления со значением переменной. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" "LessThanOrEqual" RegEx (обязательно) |
| селектор | Соответствует определенному ключу из переменных QueryString, PostArgs, RequestHeader или Cookie. Значение по умолчанию равно NULL. | струна |
| Преобразует | Список преобразований. | Массив строк, содержащий любой из: Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | инт |
| enabledState | Описывает, включена ли политика или отключена. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| режим | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия перенаправляется, это поле представляет URL-адрес перенаправления для клиента. | струна |
Теги ресурса
| Имя | Описание | Ценность |
|---|
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описание параметров политики. | PolicySettings (PolicySettings) |
Примеры использования
Шаблоны быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.
| Шаблон | Описание |
|---|---|
|
Настройка ограничения 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@2019-10-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
etag = "string"
properties = {
customRules = {
rules = [
{
action = "string"
enabledState = "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 = {
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"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
enabledState = "string"
mode = "string"
redirectUrl = "string"
}
}
}
}
Значения свойств
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
| Имя | Описание | Ценность |
|---|---|---|
| ETag | Получает уникальную строку только для чтения, которая изменяется при обновлении ресурса. | струна |
| местоположение | Расположение ресурса. | струна |
| имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = 128 (обязательно) |
| свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyProperties |
| Теги | Теги ресурсов | Словарь имен и значений тегов. |
| тип | Тип ресурса | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2019-10-01" |
Пользовательское правило
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает, какое действие следует применять при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" (обязательно) |
| enabledState | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
| имя | Описывает имя правила. | струна Ограничения целостности: Максимальная длина = 128 |
| приоритет | Описывает приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
| rateLimitDurationInMinutes | Время сброса счетчика ограничений скорости. Значение по умолчанию — 1 минуту. | int Ограничения целостности: Минимальное значение = 0 Максимальное значение = 5 |
| rateLimitThreshold | Количество разрешенных запросов на каждого клиента в течение периода времени. | int Ограничения целостности: Минимальное значение = 0 |
| Тип правила | Описывает тип правила. | MatchRule RateLimitRule (обязательный) |
Пользовательский список правил
| Имя | Описание | Ценность |
|---|---|---|
| Правила | Список правил | Пользовательское правило[] |
ManagedRuleExclusion
| Имя | Описание | Ценность |
|---|---|---|
| matchVariable | Тип переменной, который необходимо исключить. | "QueryStringArgNames" "RequestBodyPostArgNames" "RequestCookieNames" RequestHeaderNames (обязательно) |
| селектор | Значение селектора, к которому относятся элементы коллекции, к которым применяется это исключение. | строка (обязательно) |
| оператор совпадения селектора | Оператор сравнения, применяемый к селектору при указании элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
ManagedRuleGroupOverride (УправляемоеПравилоГрупповоеПереопределение)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в группе. | ManagedRuleExclusion[] |
| ruleGroupName | Описывает управляемую группу правил для переопределения. | строка (обязательно) |
| Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride (УправляемыйПереопределение правил)
| Имя | Описание | Ценность |
|---|---|---|
| действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" "Блокировать" Log "Перенаправление" |
| enabledState | Описывает, включено или отключено ли управляемое правило. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
| Исключения | Описывает исключения, применяемые к этому конкретному правилу. | ManagedRuleExclusion[] |
| Идентификатор правила | Идентификатор управляемого правила. | строка (обязательно) |
ManagedRuleSet (УправляемыйНабор Правил)
| Имя | Описание | Ценность |
|---|---|---|
| Исключения | Описывает исключения, которые применяются ко всем правилам в наборе. | ManagedRuleExclusion[] |
| ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
| тип набора правил | Определяет используемый тип набора правил. | строка (обязательно) |
| версия набора правил | Определяет версию используемого набора правил. | строка (обязательно) |
ManagedRuleSetList (УправляемыйСписок Правил)
| Имя | Описание | Ценность |
|---|---|---|
| managedRuleSets | Список наборов правил. | ManagedRuleSet[] |
Условие совпадения
| Имя | Описание | Ценность |
|---|---|---|
| matchValue | Список возможных значений соответствия. | string[] (обязательно) |
| matchVariable | Запрос переменной для сравнения с. | "Файлы cookie" PostArgs QueryString RemoteAddr "RequestBody" "RequestHeader" RequestMethod RequestUri SocketAddr (обязательно) |
| negateCondition | Описывает, следует ли отрицать результат этого условия. | булевая переменная (bool) |
| оператор | Тип сравнения, используемый для сопоставления со значением переменной. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" «Больше, чем» «Больше, чем Или Равно» "IPMatch" "LessThan" "LessThanOrEqual" RegEx (обязательно) |
| селектор | Соответствует определенному ключу из переменных QueryString, PostArgs, RequestHeader или Cookie. Значение по умолчанию равно NULL. | струна |
| Преобразует | Список преобразований. | Массив строк, содержащий любой из: Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
PolicySettings (PolicySettings)
| Имя | Описание | Ценность |
|---|---|---|
| customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Шаблон = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
| customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | инт |
| enabledState | Описывает, включена ли политика или отключена. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
| режим | Описывает, находится ли он в режиме обнаружения или режиме предотвращения на уровне политики. | "Обнаружение" "Предотвращение" |
| redirectUrl | Если тип действия перенаправляется, это поле представляет URL-адрес перенаправления для клиента. | струна |
Теги ресурса
| Имя | Описание | Ценность |
|---|
WebApplicationFirewallPolicyProperties
| Имя | Описание | Ценность |
|---|---|---|
| customRules | Описывает пользовательские правила в политике. | Пользовательский список правил |
| managedRules | Описывает управляемые правила внутри политики. | ManagedRuleSetList (УправляемыйСписок Правил) |
| настройки политики | Описание параметров политики. | PolicySettings (PolicySettings) |
Примеры использования
Примеры 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) |