Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies
- последние
- 2024-03-01
- 2024-01-01
- 2023-11-01
- 2023-09-01
- 2023-06-01
- 2023-05-01
- 2023-04-01
- 2023-02-01
- 2022-11-01
- 2022-09-01
- 2022-07-01
- 2022-05-01
- 2022-01-01
- 2021-08-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-11-01
- 2020-08-01
- 2020-07-01
- 2020-06-01
- 2020-05-01
- 2020-04-01
- 2020-03-01
- 2019-12-01
- 2019-11-01
- 2019-09-01
- 2019-08-01
- 2019-07-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-12-01
Определение ресурсов Bicep
Тип ресурса ApplicationGatewayWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01' = {
location: 'string'
name: 'string'
properties: {
customRules: [
{
action: 'string'
groupByUserSession: [
{
groupByVariables: [
{
variableName: 'string'
}
]
}
]
matchConditions: [
{
matchValues: [
'string'
]
matchVariables: [
{
selector: 'string'
variableName: 'string'
}
]
negationConditon: bool
operator: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDuration: 'string'
rateLimitThreshold: int
ruleType: 'string'
state: 'string'
}
]
managedRules: {
exceptions: [
{
exceptionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
valueMatchOperator: 'string'
values: [
'string'
]
}
]
exclusions: [
{
exclusionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
action: 'string'
ruleId: 'string'
sensitivity: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
jsChallengeCookieExpirationInMins: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
requestBodyEnforcement: bool
requestBodyInspectLimitInKB: int
state: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
ExceptionEntry
Имя | Описание | Ценность |
---|---|---|
exceptionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, с которой мы вычисляем условие исключения | RemoteAddr "RequestHeader" RequestURI (обязательный) |
селектор | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. | струна |
selectorMatchOperator | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. | "Содержит" "EndsWith" "Равно" "StartsWith" |
valueMatchOperator | Работает с допустимыми значениями для matchVariable | "Содержит" "EndsWith" "Равно" "IPMatch" "StartsWith" (обязательно) |
Значения | Допустимые значения для сопоставленияVariable | string[] |
ExclusionManagedRule
Имя | Описание | Ценность |
---|---|---|
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
ExclusionManagedRuleGroup
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для исключения. | строка (обязательно) |
Правила | Список правил, которые будут исключены. Если ни один из них не указан, все правила в группе будут исключены. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroups | Определяет группы правил, применяемые к набору правил. | ExclusionManagedRuleGroup[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
GroupByUserSession
Имя | Описание | Ценность |
---|---|---|
groupByVariables | Список групп по переменным предложения. | GroupByVariable[] (обязательно) |
GroupByVariable
Имя | Описание | Ценность |
---|---|---|
variableName | Переменная предложения сеанса пользователя. | ClientAddr GeoLocation "Нет" (обязательно) |
ManagedRuleGroupOverride
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для переопределения. | строка (обязательно) |
Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride
Имя | Описание | Ценность |
---|---|---|
действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" 'AnomalyScoring' "Блокировать" "JSChallenge" Log |
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
чувствительность | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" "Нет" |
государство | Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
ManagedRulesDefinition
Имя | Описание | Ценность |
---|---|---|
Исключения | Исключения, применяемые к политике. | ExceptionEntry[] |
Исключения | Исключения, применяемые к политике. | OwaspCrsExclusionEntry[] |
managedRuleSets | Управляемые наборы правил, связанные с политикой. | ManagedRuleSet[] (обязательно) |
ManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
MatchCondition
Имя | Описание | Ценность |
---|---|---|
matchValues | Значение соответствия. | string[] (обязательно) |
matchVariables | Список переменных соответствия. | MatchVariable[] (обязательно) |
отрицаниеConditon | Является ли это неуготным условием или нет. | bool |
оператор | Оператор, который нужно сопоставить. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" 'GreaterThan' 'GreaterThanOrEqual' "IPMatch" "LessThan" "LessThanOrEqual" Regex (обязательный) |
Преобразует | Список преобразований. | Массив строк, содержащий любой из: "HtmlEntityDecode" Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
MatchVariable
Имя | Описание | Ценность |
---|---|---|
селектор | Селектор переменной соответствия. | струна |
variableName | Совпадать с переменной. | PostArgs QueryString RemoteAddr "RequestBody" "RequestCookies" "RequestHeaders" RequestMethod RequestUri (обязательный) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Имя | Описание | Ценность |
---|---|---|
местоположение | Расположение ресурса. | струна |
имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = (обязательно) |
свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyPropertiesFormat |
Теги | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
OwaspCrsExclusionEntry
Имя | Описание | Ценность |
---|---|---|
exclusionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, изменяемая. | RequestArgKeys "RequestArgNames" RequestArgValues RequestCookieKeys "RequestCookieNames" "RequestCookieValues" RequestHeaderKeys "RequestHeaderNames" RequestHeaderValues (обязательный) |
селектор | Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. | строка (обязательно) |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
PolicySettings
Имя | Описание | Ценность |
---|---|---|
customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Максимальная длина = Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int Ограничения целостности: Минимальное значение = 0 |
fileUploadEnforcement | Разрешить WAF применять ограничения отправки файлов. | bool |
fileUploadLimitInMb | Максимальный размер отправки файла в Мб для WAF. | int Ограничения целостности: Минимальное значение = 0 |
jsChallengeCookieExpirationInMins | Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
logScrubbing | Чтобы скубировать конфиденциальные поля журнала | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Максимальный размер текста запроса в КБ для WAF. | int Ограничения целостности: Минимальное значение = 8 |
режим | Режим политики. | "Обнаружение" "Предотвращение" |
requestBodyCheck | Следует ли разрешить WAF проверять текст запроса. | bool |
requestBodyEnforcement | Разрешить WAF применять ограничения текста запроса. | bool |
requestBodyInspectLimitInKB | Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. | int |
государство | Состояние политики. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
Имя | Описание | Ценность |
---|---|---|
scrubbingRules | Правила, применяемые к журналам для очистки. | WebApplicationFirewallScrubbingRules[] |
государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
ResourceTags
Имя | Описание | Ценность |
---|
WebApplicationFirewallCustomRule
Имя | Описание | Ценность |
---|---|---|
действие | Тип действий. | "Разрешить" "Блокировать" "JSChallenge" Log (обязательно) |
groupByUserSession | Список групп идентификаторов сеансов пользователя по предложениям. | GroupByUserSession[] |
matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
имя | Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. | струна Ограничения целостности: Максимальная длина = |
приоритет | Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
rateLimitDuration | Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. | 'FiveMins' "OneMin" |
rateLimitThreshold | Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 | int |
ruleType | Тип правила. | "Недопустимый" MatchRule RateLimitRule (обязательный) |
государство | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
WebApplicationFirewallPolicyPropertiesFormat
Имя | Описание | Ценность |
---|---|---|
customRules | Пользовательские правила внутри политики. | WebApplicationFirewallCustomRule[] |
managedRules | Описывает структуру managedRules. | ManagedRulesDefinition (обязательно) |
policySettings | PolicySettings для политики. | PolicySettings |
WebApplicationFirewallScrubbingRules
Имя | Описание | Ценность |
---|---|---|
matchVariable | Переменная для очистки из журналов. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress "RequestJSONArgNames" RequestPostArgNames (обязательно) |
селектор | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
государство | Определяет состояние правила очистки журналов. Значение по умолчанию включено. | "Отключено" "Включено" |
Примеры краткого руководства
Следующие примеры краткого руководства по развертыванию этого типа ресурса.
Bicep-файл | Описание |
---|---|
кластер AKS с шлюзом NAT и шлюзом приложений | В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений. |
кластер AKS с контроллером входящего трафика шлюза приложений | В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault |
Шлюз приложений с помощью политики WAF и брандмауэра | Этот шаблон создает шлюз приложений с помощью WAF, настроенного вместе с политикой брандмауэра |
Создание Azure WAF версии 2 в шлюзе приложений Azure | Этот шаблон создает брандмауэр веб-приложений Azure версии 2 на шлюзе приложений Azure с двумя серверами Windows Server 2016 в серверном пуле. |
Front Door Standard/Premium с источником шлюза приложений | Этот шаблон создает экземпляр Front Door Standard/Premium и экземпляр шлюза приложений и использует политику NSG и WAF для проверки того, что трафик прошел через источник Front Door. |
Front Door с экземплярами контейнеров и шлюза приложений | Этот шаблон создает Front Door Standard/Premium с группой контейнеров и шлюзом приложений. |
Определение ресурса шаблона ARM
Тип ресурса ApplicationGatewayWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, добавьте следующий код JSON в шаблон.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2024-03-01",
"name": "string",
"location": "string",
"properties": {
"customRules": [
{
"action": "string",
"groupByUserSession": [
{
"groupByVariables": [
{
"variableName": "string"
}
]
}
],
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDuration": "string",
"rateLimitThreshold": "int",
"ruleType": "string",
"state": "string"
}
],
"managedRules": {
"exceptions": [
{
"exceptionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"valueMatchOperator": "string",
"values": [ "string" ]
}
],
"exclusions": [
{
"exclusionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"ruleId": "string",
"sensitivity": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"jsChallengeCookieExpirationInMins": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"requestBodyEnforcement": "bool",
"requestBodyInspectLimitInKB": "int",
"state": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
ExceptionEntry
Имя | Описание | Ценность |
---|---|---|
exceptionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, с которой мы вычисляем условие исключения | RemoteAddr "RequestHeader" RequestURI (обязательный) |
селектор | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. | струна |
selectorMatchOperator | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. | "Содержит" "EndsWith" "Равно" "StartsWith" |
valueMatchOperator | Работает с допустимыми значениями для matchVariable | "Содержит" "EndsWith" "Равно" "IPMatch" "StartsWith" (обязательно) |
Значения | Допустимые значения для сопоставленияVariable | string[] |
ExclusionManagedRule
Имя | Описание | Ценность |
---|---|---|
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
ExclusionManagedRuleGroup
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для исключения. | строка (обязательно) |
Правила | Список правил, которые будут исключены. Если ни один из них не указан, все правила в группе будут исключены. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroups | Определяет группы правил, применяемые к набору правил. | ExclusionManagedRuleGroup[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
GroupByUserSession
Имя | Описание | Ценность |
---|---|---|
groupByVariables | Список групп по переменным предложения. | GroupByVariable[] (обязательно) |
GroupByVariable
Имя | Описание | Ценность |
---|---|---|
variableName | Переменная предложения сеанса пользователя. | ClientAddr GeoLocation "Нет" (обязательно) |
ManagedRuleGroupOverride
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для переопределения. | строка (обязательно) |
Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride
Имя | Описание | Ценность |
---|---|---|
действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" 'AnomalyScoring' "Блокировать" "JSChallenge" Log |
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
чувствительность | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" "Нет" |
государство | Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
ManagedRulesDefinition
Имя | Описание | Ценность |
---|---|---|
Исключения | Исключения, применяемые к политике. | ExceptionEntry[] |
Исключения | Исключения, применяемые к политике. | OwaspCrsExclusionEntry[] |
managedRuleSets | Управляемые наборы правил, связанные с политикой. | ManagedRuleSet[] (обязательно) |
ManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
MatchCondition
Имя | Описание | Ценность |
---|---|---|
matchValues | Значение соответствия. | string[] (обязательно) |
matchVariables | Список переменных соответствия. | MatchVariable[] (обязательно) |
отрицаниеConditon | Является ли это неуготным условием или нет. | bool |
оператор | Оператор, который нужно сопоставить. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" 'GreaterThan' 'GreaterThanOrEqual' "IPMatch" "LessThan" "LessThanOrEqual" Regex (обязательный) |
Преобразует | Список преобразований. | Массив строк, содержащий любой из: "HtmlEntityDecode" Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
MatchVariable
Имя | Описание | Ценность |
---|---|---|
селектор | Селектор переменной соответствия. | струна |
variableName | Совпадать с переменной. | PostArgs QueryString RemoteAddr "RequestBody" "RequestCookies" "RequestHeaders" RequestMethod RequestUri (обязательный) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Имя | Описание | Ценность |
---|---|---|
apiVersion | Версия API | '2024-03-01' |
местоположение | Расположение ресурса. | струна |
имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = (обязательно) |
свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyPropertiesFormat |
Теги | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
тип | Тип ресурса | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies" |
OwaspCrsExclusionEntry
Имя | Описание | Ценность |
---|---|---|
exclusionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, изменяемая. | RequestArgKeys "RequestArgNames" RequestArgValues RequestCookieKeys "RequestCookieNames" "RequestCookieValues" RequestHeaderKeys "RequestHeaderNames" RequestHeaderValues (обязательный) |
селектор | Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. | строка (обязательно) |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
PolicySettings
Имя | Описание | Ценность |
---|---|---|
customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Максимальная длина = Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int Ограничения целостности: Минимальное значение = 0 |
fileUploadEnforcement | Разрешить WAF применять ограничения отправки файлов. | bool |
fileUploadLimitInMb | Максимальный размер отправки файла в Мб для WAF. | int Ограничения целостности: Минимальное значение = 0 |
jsChallengeCookieExpirationInMins | Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
logScrubbing | Чтобы скубировать конфиденциальные поля журнала | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Максимальный размер текста запроса в КБ для WAF. | int Ограничения целостности: Минимальное значение = 8 |
режим | Режим политики. | "Обнаружение" "Предотвращение" |
requestBodyCheck | Следует ли разрешить WAF проверять текст запроса. | bool |
requestBodyEnforcement | Разрешить WAF применять ограничения текста запроса. | bool |
requestBodyInspectLimitInKB | Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. | int |
государство | Состояние политики. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
Имя | Описание | Ценность |
---|---|---|
scrubbingRules | Правила, применяемые к журналам для очистки. | WebApplicationFirewallScrubbingRules[] |
государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
ResourceTags
Имя | Описание | Ценность |
---|
WebApplicationFirewallCustomRule
Имя | Описание | Ценность |
---|---|---|
действие | Тип действий. | "Разрешить" "Блокировать" "JSChallenge" Log (обязательно) |
groupByUserSession | Список групп идентификаторов сеансов пользователя по предложениям. | GroupByUserSession[] |
matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
имя | Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. | струна Ограничения целостности: Максимальная длина = |
приоритет | Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
rateLimitDuration | Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. | 'FiveMins' "OneMin" |
rateLimitThreshold | Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 | int |
ruleType | Тип правила. | "Недопустимый" MatchRule RateLimitRule (обязательный) |
государство | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
WebApplicationFirewallPolicyPropertiesFormat
Имя | Описание | Ценность |
---|---|---|
customRules | Пользовательские правила внутри политики. | WebApplicationFirewallCustomRule[] |
managedRules | Описывает структуру managedRules. | ManagedRulesDefinition (обязательно) |
policySettings | PolicySettings для политики. | PolicySettings |
WebApplicationFirewallScrubbingRules
Имя | Описание | Ценность |
---|---|---|
matchVariable | Переменная для очистки из журналов. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress "RequestJSONArgNames" RequestPostArgNames (обязательно) |
селектор | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
государство | Определяет состояние правила очистки журналов. Значение по умолчанию включено. | "Отключено" "Включено" |
Шаблоны быстрого запуска
Следующие шаблоны быстрого запуска развертывают этот тип ресурса.
Шаблон | Описание |
---|---|
кластер AKS с шлюзом NAT и шлюзом приложений развертывание |
В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений. |
кластер AKS с контроллером входящего трафика шлюза приложений развертывание |
В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault |
Шлюз приложений с помощью политики WAF и брандмауэра развертывание |
Этот шаблон создает шлюз приложений с помощью WAF, настроенного вместе с политикой брандмауэра |
Создание Azure WAF версии 2 в шлюзе приложений Azure развертывание |
Этот шаблон создает брандмауэр веб-приложений Azure версии 2 на шлюзе приложений Azure с двумя серверами Windows Server 2016 в серверном пуле. |
Front Door Standard/Premium с источником шлюза приложений развертывание |
Этот шаблон создает экземпляр Front Door Standard/Premium и экземпляр шлюза приложений и использует политику NSG и WAF для проверки того, что трафик прошел через источник Front Door. |
Front Door с экземплярами контейнеров и шлюза приложений развертывание |
Этот шаблон создает Front Door Standard/Premium с группой контейнеров и шлюзом приложений. |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурса ApplicationGatewayWebApplicationFirewallPolicies можно развернуть с помощью операций, предназначенных для следующих операций:
- групп ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, добавьте следующий объект Terraform в шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01"
name = "string"
location = "string"
body = jsonencode({
properties = {
customRules = [
{
action = "string"
groupByUserSession = [
{
groupByVariables = [
{
variableName = "string"
}
]
}
]
matchConditions = [
{
matchValues = [
"string"
]
matchVariables = [
{
selector = "string"
variableName = "string"
}
]
negationConditon = bool
operator = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDuration = "string"
rateLimitThreshold = int
ruleType = "string"
state = "string"
}
]
managedRules = {
exceptions = [
{
exceptionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
valueMatchOperator = "string"
values = [
"string"
]
}
]
exclusions = [
{
exclusionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
action = "string"
ruleId = "string"
sensitivity = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
jsChallengeCookieExpirationInMins = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
requestBodyEnforcement = bool
requestBodyInspectLimitInKB = int
state = "string"
}
}
})
tags = {
{customized property} = "string"
}
}
Значения свойств
ExceptionEntry
Имя | Описание | Ценность |
---|---|---|
exceptionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, с которой мы вычисляем условие исключения | RemoteAddr "RequestHeader" RequestURI (обязательный) |
селектор | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это определяет ключ. | струна |
selectorMatchOperator | Если сопоставлениеVariable указывает на пару "ключ-значение" (например, RequestHeader), это работает с селектором. | "Содержит" "EndsWith" "Равно" "StartsWith" |
valueMatchOperator | Работает с допустимыми значениями для matchVariable | "Содержит" "EndsWith" "Равно" "IPMatch" "StartsWith" (обязательно) |
Значения | Допустимые значения для сопоставленияVariable | string[] |
ExclusionManagedRule
Имя | Описание | Ценность |
---|---|---|
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
ExclusionManagedRuleGroup
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для исключения. | строка (обязательно) |
Правила | Список правил, которые будут исключены. Если ни один из них не указан, все правила в группе будут исключены. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroups | Определяет группы правил, применяемые к набору правил. | ExclusionManagedRuleGroup[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
GroupByUserSession
Имя | Описание | Ценность |
---|---|---|
groupByVariables | Список групп по переменным предложения. | GroupByVariable[] (обязательно) |
GroupByVariable
Имя | Описание | Ценность |
---|---|---|
variableName | Переменная предложения сеанса пользователя. | ClientAddr GeoLocation "Нет" (обязательно) |
ManagedRuleGroupOverride
Имя | Описание | Ценность |
---|---|---|
ruleGroupName | Управляемая группа правил для переопределения. | строка (обязательно) |
Правила | Список правил, которые будут отключены. Если ни один из них не указан, все правила в группе будут отключены. | ManagedRuleOverride[] |
ManagedRuleOverride
Имя | Описание | Ценность |
---|---|---|
действие | Описывает действие переопределения, которое будет применяться при совпадении правил. | "Разрешить" 'AnomalyScoring' "Блокировать" "JSChallenge" Log |
ruleId | Идентификатор управляемого правила. | строка (обязательно) |
чувствительность | Описывает чувствительность переопределения, применяемую при совпадении правил. | "Высокий" "Низкий" "Средний" "Нет" |
государство | Состояние управляемого правила. Значение по умолчанию отключено, если оно не указано. | "Отключено" "Включено" |
ManagedRulesDefinition
Имя | Описание | Ценность |
---|---|---|
Исключения | Исключения, применяемые к политике. | ExceptionEntry[] |
Исключения | Исключения, применяемые к политике. | OwaspCrsExclusionEntry[] |
managedRuleSets | Управляемые наборы правил, связанные с политикой. | ManagedRuleSet[] (обязательно) |
ManagedRuleSet
Имя | Описание | Ценность |
---|---|---|
ruleGroupOverrides | Определяет переопределение группы правил для применения к набору правил. | ManagedRuleGroupOverride[] |
ruleSetType | Определяет используемый тип набора правил. | строка (обязательно) |
ruleSetVersion | Определяет версию используемого набора правил. | строка (обязательно) |
MatchCondition
Имя | Описание | Ценность |
---|---|---|
matchValues | Значение соответствия. | string[] (обязательно) |
matchVariables | Список переменных соответствия. | MatchVariable[] (обязательно) |
отрицаниеConditon | Является ли это неуготным условием или нет. | bool |
оператор | Оператор, который нужно сопоставить. | "Любой" BeginsWith "Содержит" "EndsWith" "Равно" "GeoMatch" 'GreaterThan' 'GreaterThanOrEqual' "IPMatch" "LessThan" "LessThanOrEqual" Regex (обязательный) |
Преобразует | Список преобразований. | Массив строк, содержащий любой из: "HtmlEntityDecode" Нижний регистр RemoveNulls "Обрезка" "Верхний регистр" UrlDecode UrlEncode |
MatchVariable
Имя | Описание | Ценность |
---|---|---|
селектор | Селектор переменной соответствия. | струна |
variableName | Совпадать с переменной. | PostArgs QueryString RemoteAddr "RequestBody" "RequestCookies" "RequestHeaders" RequestMethod RequestUri (обязательный) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Имя | Описание | Ценность |
---|---|---|
местоположение | Расположение ресурса. | струна |
имя | Имя ресурса | струна Ограничения целостности: Максимальная длина = (обязательно) |
свойства | Свойства политики брандмауэра веб-приложения. | WebApplicationFirewallPolicyPropertiesFormat |
Теги | Теги ресурсов | Словарь имен и значений тегов. |
тип | Тип ресурса | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01" |
OwaspCrsExclusionEntry
Имя | Описание | Ценность |
---|---|---|
exclusionManagedRuleSets | Управляемые наборы правил, связанные с исключением. | ExclusionManagedRuleSet[] |
matchVariable | Переменная, изменяемая. | RequestArgKeys "RequestArgNames" RequestArgValues RequestCookieKeys "RequestCookieNames" "RequestCookieValues" RequestHeaderKeys "RequestHeaderNames" RequestHeaderValues (обязательный) |
селектор | Если сопоставлениеVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение. | строка (обязательно) |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это исключение. | "Содержит" "EndsWith" "Равно" "EqualsAny" "StartsWith" (обязательно) |
PolicySettings
Имя | Описание | Ценность |
---|---|---|
customBlockResponseBody | Если тип действия является блоком, клиент может переопределить текст ответа. Текст должен быть указан в кодировке Base64. | струна Ограничения целостности: Максимальная длина = Pattern = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Если тип действия является блоком, клиент может переопределить код состояния ответа. | int Ограничения целостности: Минимальное значение = 0 |
fileUploadEnforcement | Разрешить WAF применять ограничения отправки файлов. | bool |
fileUploadLimitInMb | Максимальный размер отправки файла в Мб для WAF. | int Ограничения целостности: Минимальное значение = 0 |
jsChallengeCookieExpirationInMins | Время истечения срока действия файла cookie для брандмауэра веб-приложений JavaScript в минутах. | int Ограничения целостности: Минимальное значение = 5 Максимальное значение = 1440 |
logScrubbing | Чтобы скубировать конфиденциальные поля журнала | PolicySettingsLogScrubbing |
maxRequestBodySizeInKb | Максимальный размер текста запроса в КБ для WAF. | int Ограничения целостности: Минимальное значение = 8 |
режим | Режим политики. | "Обнаружение" "Предотвращение" |
requestBodyCheck | Следует ли разрешить WAF проверять текст запроса. | bool |
requestBodyEnforcement | Разрешить WAF применять ограничения текста запроса. | bool |
requestBodyInspectLimitInKB | Максимальное ограничение проверки в КБ для проверки текста запроса для WAF. | int |
государство | Состояние политики. | "Отключено" "Включено" |
PolicySettingsLogScrubbing
Имя | Описание | Ценность |
---|---|---|
scrubbingRules | Правила, применяемые к журналам для очистки. | WebApplicationFirewallScrubbingRules[] |
государство | Состояние конфигурации scrubbing журнала. Значение по умолчанию включено. | "Отключено" "Включено" |
ResourceTags
Имя | Описание | Ценность |
---|
WebApplicationFirewallCustomRule
Имя | Описание | Ценность |
---|---|---|
действие | Тип действий. | "Разрешить" "Блокировать" "JSChallenge" Log (обязательно) |
groupByUserSession | Список групп идентификаторов сеансов пользователя по предложениям. | GroupByUserSession[] |
matchConditions | Список условий соответствия. | MatchCondition[] (обязательно) |
имя | Имя ресурса, уникального в политике. Это имя можно использовать для доступа к ресурсу. | струна Ограничения целостности: Максимальная длина = |
приоритет | Приоритет правила. Правила с более низким значением будут оцениваться перед правилами с более высоким значением. | int (обязательно) |
rateLimitDuration | Длительность применения политики ограничения скорости. Применяется только в том случае, если значение ruleType равно RateLimitRule. | 'FiveMins' "OneMin" |
rateLimitThreshold | Пороговое значение ограничения скорости для применения в типе правила регистра — RateLimitRule. Должно быть больше или равно 1 | int |
ruleType | Тип правила. | "Недопустимый" MatchRule RateLimitRule (обязательный) |
государство | Описывает, включено или отключено ли настраиваемое правило. Значение по умолчанию включено, если не указано. | "Отключено" "Включено" |
WebApplicationFirewallPolicyPropertiesFormat
Имя | Описание | Ценность |
---|---|---|
customRules | Пользовательские правила внутри политики. | WebApplicationFirewallCustomRule[] |
managedRules | Описывает структуру managedRules. | ManagedRulesDefinition (обязательно) |
policySettings | PolicySettings для политики. | PolicySettings |
WebApplicationFirewallScrubbingRules
Имя | Описание | Ценность |
---|---|---|
matchVariable | Переменная для очистки из журналов. | "RequestArgNames" "RequestCookieNames" "RequestHeaderNames" RequestIPAddress "RequestJSONArgNames" RequestPostArgNames (обязательно) |
селектор | При сопоставлении является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это правило. | струна |
selectorMatchOperator | Если matchVariable является коллекцией, селектор используется для указания элементов коллекции, к которым применяется это правило. | "Равно" "EqualsAny" (обязательный) |
государство | Определяет состояние правила очистки журналов. Значение по умолчанию включено. | "Отключено" "Включено" |