你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-11-01

Bicep 资源定义

可以使用目标操作部署 ApplicationGatewayWebApplicationFirewallPolicies 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-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: {
      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'
                  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'
  }
}

属性值

ExclusionManagedRule

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)

ExclusionManagedRuleGroup

名字 描述 价值
ruleGroupName 要排除的托管规则组。 string (必需)
规则 将排除的规则列表。 如果未指定任何规则,将排除组中的所有规则。 ExclusionManagedRule[]

ExclusionManagedRuleSet

名字 描述 价值
ruleGroups 定义要应用于规则集的规则组。 ExclusionManagedRuleGroup[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

GroupByUserSession

名字 描述 价值
groupByVariables 按子句变量分组的列表。 GroupByVariable[] (必需)

GroupByVariable

名字 描述 价值
variableName 用户会话子句变量。 “ClientAddr”
“GeoLocation”
“无”(必需)

ManagedRuleGroupOverride

名字 描述 价值
ruleGroupName 要重写的托管规则组。 string (必需)
规则 将禁用的规则列表。 如果未指定任何规则,将禁用组中的所有规则。 ManagedRuleOverride[]

ManagedRuleOverride

名字 描述 价值
行动 描述规则匹配时要应用的替代操作。 “允许”
“AnomalyScoring”
“Block”
“JSChallenge”
“Log”
ruleId 托管规则的标识符。 string (必需)
托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”
“Enabled”

ManagedRulesDefinition

名字 描述 价值
排除 应用于策略的排除项。 OwaspCrsExclusionEntry[]
managedRuleSets 与策略关联的托管规则集。 ManagedRuleSet[] (必需)

ManagedRuleSet

名字 描述 价值
ruleGroupOverrides 定义要应用于规则集的规则组替代。 ManagedRuleGroupOverride[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

MatchCondition

名字 描述 价值
matchValues 匹配值。 string[] (必需)
matchVariables 匹配变量的列表。 MatchVariable[] (必需)
negationConditon 这是否为否定条件。 bool
算子 要匹配的运算符。 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”
“正则表达式”(必需)
变换 转换列表。 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

MatchVariable

名字 描述 价值
选择器 匹配变量的选择器。 字符串
variableName 匹配变量。 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestCookies”
“RequestHeaders”
“RequestMethod”
“RequestUri”(必需)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最大长度 = (必需)
性能 Web 应用程序防火墙策略的属性。 WebApplicationFirewallPolicyPropertiesFormat
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

OwaspCrsExclusionEntry

名字 描述 价值
exclusionManagedRuleSets 与排除关联的托管规则集。 ExclusionManagedRuleSet[]
matchVariable 要排除的变量。 “RequestArgKeys”
“RequestArgNames”
“RequestArgValues”
“RequestCookieKeys”
“RequestCookieNames”
“RequestCookieValues”
“RequestHeaderKeys”
“RequestHeaderNames”
“RequestHeaderValues”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“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 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
jsChallengeCookieExpirationInMins Web 应用程序防火墙 JavaScript 质询 Cookie 过期时间(以分钟为单位)。 int

约束:
最小值 = 5
最大值 = 1440
logScrubbing 清理敏感日志字段 PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
模式 策略的模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
requestBodyEnforcement 是否允许 WAF 强制实施请求正文限制。 bool
requestBodyInspectLimitInKB WAF 请求正文检查的最大检查限制(以 KB 为单位)。 int
策略的状态。 “Disabled”
“Enabled”

PolicySettingsLogScrubbing

名字 描述 价值
scrubbingRules 应用于日志以清理的规则。 WebApplicationFirewallScrubbingRules[]
日志清理配置的状态。默认值为“已启用”。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“JSChallenge”
“Log”(必需)
groupByUserSession 按子句分组的用户会话标识符列表。 GroupByUserSession[]
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
rateLimitDuration 将应用速率限制策略的持续时间。 仅适用于 ruleType 为 RateLimitRule 时。 “FiveMins”
“OneMin”
rateLimitThreshold 在 ruleType 为 RateLimitRule 的情况下要应用的速率限制阈值。 必须大于或等于 1 int
ruleType 规则类型。 “Invalid”
“MatchRule”
“RateLimitRule”(必需)
描述自定义规则是否处于启用或禁用状态。 如果未指定,则默认为 Enabled。 “Disabled”
“Enabled”

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 策略中的自定义规则。 WebApplicationFirewallCustomRule[]
managedRules 描述 managedRules 结构。 ManagedRulesDefinition (必需)
policySettings 策略的 PolicySettings。 PolicySettings

WebApplicationFirewallScrubbingRules

名字 描述 价值
matchVariable 要从日志中清理的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”
'RequestIPAddress'
'RequestJSONArgNames'
“RequestPostArgNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此规则应用于的集合中的哪些元素。 字符串
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此规则应用于的集合中的哪些元素。 “Equals”
“EqualsAny”(必需)
定义日志清理规则的状态。 默认值为“已启用”。 “Disabled”
“Enabled”

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
使用 NAT 网关和应用程序网关 AKS 群集 此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。
使用应用程序网关入口控制器 AKS 群集 此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集
使用 WAF 和防火墙策略 应用程序网关 此模板创建配置了 WAF 的应用程序网关以及防火墙策略
在 Azure 应用程序网关上创建 Azure WAF v2 此模板在 Azure 应用程序网关上创建一个 Azure Web 应用程序防火墙 v2,并在后端池中使用两台 Windows Server 2016 服务器
使用应用程序网关源 Front Door 标准版/高级版 此模板创建 Front Door 标准版/高级版和应用程序网关实例,并使用 NSG 和 WAF 策略来验证流量是否通过 Front Door 源。
使用容器实例和应用程序网关 Front Door 此模板使用容器组和应用程序网关创建 Front Door 标准版/高级版。

ARM 模板资源定义

可以使用目标操作部署 ApplicationGatewayWebApplicationFirewallPolicies 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2023-11-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": {
      "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",
                  "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"
  }
}

属性值

ExclusionManagedRule

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)

ExclusionManagedRuleGroup

名字 描述 价值
ruleGroupName 要排除的托管规则组。 string (必需)
规则 将排除的规则列表。 如果未指定任何规则,将排除组中的所有规则。 ExclusionManagedRule[]

ExclusionManagedRuleSet

名字 描述 价值
ruleGroups 定义要应用于规则集的规则组。 ExclusionManagedRuleGroup[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

GroupByUserSession

名字 描述 价值
groupByVariables 按子句变量分组的列表。 GroupByVariable[] (必需)

GroupByVariable

名字 描述 价值
variableName 用户会话子句变量。 “ClientAddr”
“GeoLocation”
“无”(必需)

ManagedRuleGroupOverride

名字 描述 价值
ruleGroupName 要重写的托管规则组。 string (必需)
规则 将禁用的规则列表。 如果未指定任何规则,将禁用组中的所有规则。 ManagedRuleOverride[]

ManagedRuleOverride

名字 描述 价值
行动 描述规则匹配时要应用的替代操作。 “允许”
“AnomalyScoring”
“Block”
“JSChallenge”
“Log”
ruleId 托管规则的标识符。 string (必需)
托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”
“Enabled”

ManagedRulesDefinition

名字 描述 价值
排除 应用于策略的排除项。 OwaspCrsExclusionEntry[]
managedRuleSets 与策略关联的托管规则集。 ManagedRuleSet[] (必需)

ManagedRuleSet

名字 描述 价值
ruleGroupOverrides 定义要应用于规则集的规则组替代。 ManagedRuleGroupOverride[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

MatchCondition

名字 描述 价值
matchValues 匹配值。 string[] (必需)
matchVariables 匹配变量的列表。 MatchVariable[] (必需)
negationConditon 这是否为否定条件。 bool
算子 要匹配的运算符。 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”
“正则表达式”(必需)
变换 转换列表。 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

MatchVariable

名字 描述 价值
选择器 匹配变量的选择器。 字符串
variableName 匹配变量。 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestCookies”
“RequestHeaders”
“RequestMethod”
“RequestUri”(必需)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
apiVersion API 版本 '2023-11-01'
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最大长度 = (必需)
性能 Web 应用程序防火墙策略的属性。 WebApplicationFirewallPolicyPropertiesFormat
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies”

OwaspCrsExclusionEntry

名字 描述 价值
exclusionManagedRuleSets 与排除关联的托管规则集。 ExclusionManagedRuleSet[]
matchVariable 要排除的变量。 “RequestArgKeys”
“RequestArgNames”
“RequestArgValues”
“RequestCookieKeys”
“RequestCookieNames”
“RequestCookieValues”
“RequestHeaderKeys”
“RequestHeaderNames”
“RequestHeaderValues”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“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 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
jsChallengeCookieExpirationInMins Web 应用程序防火墙 JavaScript 质询 Cookie 过期时间(以分钟为单位)。 int

约束:
最小值 = 5
最大值 = 1440
logScrubbing 清理敏感日志字段 PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
模式 策略的模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
requestBodyEnforcement 是否允许 WAF 强制实施请求正文限制。 bool
requestBodyInspectLimitInKB WAF 请求正文检查的最大检查限制(以 KB 为单位)。 int
策略的状态。 “Disabled”
“Enabled”

PolicySettingsLogScrubbing

名字 描述 价值
scrubbingRules 应用于日志以清理的规则。 WebApplicationFirewallScrubbingRules[]
日志清理配置的状态。默认值为“已启用”。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“JSChallenge”
“Log”(必需)
groupByUserSession 按子句分组的用户会话标识符列表。 GroupByUserSession[]
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
rateLimitDuration 将应用速率限制策略的持续时间。 仅适用于 ruleType 为 RateLimitRule 时。 “FiveMins”
“OneMin”
rateLimitThreshold 在 ruleType 为 RateLimitRule 的情况下要应用的速率限制阈值。 必须大于或等于 1 int
ruleType 规则类型。 “Invalid”
“MatchRule”
“RateLimitRule”(必需)
描述自定义规则是否处于启用或禁用状态。 如果未指定,则默认为 Enabled。 “Disabled”
“Enabled”

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 策略中的自定义规则。 WebApplicationFirewallCustomRule[]
managedRules 描述 managedRules 结构。 ManagedRulesDefinition (必需)
policySettings 策略的 PolicySettings。 PolicySettings

WebApplicationFirewallScrubbingRules

名字 描述 价值
matchVariable 要从日志中清理的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”
'RequestIPAddress'
'RequestJSONArgNames'
“RequestPostArgNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此规则应用于的集合中的哪些元素。 字符串
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此规则应用于的集合中的哪些元素。 “Equals”
“EqualsAny”(必需)
定义日志清理规则的状态。 默认值为“已启用”。 “Disabled”
“Enabled”

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
使用 NAT 网关和应用程序网关 AKS 群集

部署到 Azure
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。
使用应用程序网关入口控制器 AKS 群集

部署到 Azure
此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集
使用 WAF 和防火墙策略 应用程序网关

部署到 Azure
此模板创建配置了 WAF 的应用程序网关以及防火墙策略
在 Azure 应用程序网关上创建 Azure WAF v2

部署到 Azure
此模板在 Azure 应用程序网关上创建一个 Azure Web 应用程序防火墙 v2,并在后端池中使用两台 Windows Server 2016 服务器
使用应用程序网关源 Front Door 标准版/高级版

部署到 Azure
此模板创建 Front Door 标准版/高级版和应用程序网关实例,并使用 NSG 和 WAF 策略来验证流量是否通过 Front Door 源。
使用容器实例和应用程序网关 Front Door

部署到 Azure
此模板使用容器组和应用程序网关创建 Front Door 标准版/高级版。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 ApplicationGatewayWebApplicationFirewallPolicies 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "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 = {
        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"
                    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"
      }
    }
  })
}

属性值

ExclusionManagedRule

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)

ExclusionManagedRuleGroup

名字 描述 价值
ruleGroupName 要排除的托管规则组。 string (必需)
规则 将排除的规则列表。 如果未指定任何规则,将排除组中的所有规则。 ExclusionManagedRule[]

ExclusionManagedRuleSet

名字 描述 价值
ruleGroups 定义要应用于规则集的规则组。 ExclusionManagedRuleGroup[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

GroupByUserSession

名字 描述 价值
groupByVariables 按子句变量分组的列表。 GroupByVariable[] (必需)

GroupByVariable

名字 描述 价值
variableName 用户会话子句变量。 “ClientAddr”
“GeoLocation”
“无”(必需)

ManagedRuleGroupOverride

名字 描述 价值
ruleGroupName 要重写的托管规则组。 string (必需)
规则 将禁用的规则列表。 如果未指定任何规则,将禁用组中的所有规则。 ManagedRuleOverride[]

ManagedRuleOverride

名字 描述 价值
行动 描述规则匹配时要应用的替代操作。 “允许”
“AnomalyScoring”
“Block”
“JSChallenge”
“Log”
ruleId 托管规则的标识符。 string (必需)
托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”
“Enabled”

ManagedRulesDefinition

名字 描述 价值
排除 应用于策略的排除项。 OwaspCrsExclusionEntry[]
managedRuleSets 与策略关联的托管规则集。 ManagedRuleSet[] (必需)

ManagedRuleSet

名字 描述 价值
ruleGroupOverrides 定义要应用于规则集的规则组替代。 ManagedRuleGroupOverride[]
ruleSetType 定义要使用的规则集类型。 string (必需)
ruleSetVersion 定义要使用的规则集的版本。 string (必需)

MatchCondition

名字 描述 价值
matchValues 匹配值。 string[] (必需)
matchVariables 匹配变量的列表。 MatchVariable[] (必需)
negationConditon 这是否为否定条件。 bool
算子 要匹配的运算符。 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”
“正则表达式”(必需)
变换 转换列表。 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

MatchVariable

名字 描述 价值
选择器 匹配变量的选择器。 字符串
variableName 匹配变量。 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestCookies”
“RequestHeaders”
“RequestMethod”
“RequestUri”(必需)

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
位置 资源位置。 字符串
名字 资源名称 字符串

约束:
最大长度 = (必需)
性能 Web 应用程序防火墙策略的属性。 WebApplicationFirewallPolicyPropertiesFormat
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-11-01”

OwaspCrsExclusionEntry

名字 描述 价值
exclusionManagedRuleSets 与排除关联的托管规则集。 ExclusionManagedRuleSet[]
matchVariable 要排除的变量。 “RequestArgKeys”
“RequestArgNames”
“RequestArgValues”
“RequestCookieKeys”
“RequestCookieNames”
“RequestCookieValues”
“RequestHeaderKeys”
“RequestHeaderNames”
“RequestHeaderValues”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“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 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
jsChallengeCookieExpirationInMins Web 应用程序防火墙 JavaScript 质询 Cookie 过期时间(以分钟为单位)。 int

约束:
最小值 = 5
最大值 = 1440
logScrubbing 清理敏感日志字段 PolicySettingsLogScrubbing
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
模式 策略的模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
requestBodyEnforcement 是否允许 WAF 强制实施请求正文限制。 bool
requestBodyInspectLimitInKB WAF 请求正文检查的最大检查限制(以 KB 为单位)。 int
策略的状态。 “Disabled”
“Enabled”

PolicySettingsLogScrubbing

名字 描述 价值
scrubbingRules 应用于日志以清理的规则。 WebApplicationFirewallScrubbingRules[]
日志清理配置的状态。默认值为“已启用”。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“JSChallenge”
“Log”(必需)
groupByUserSession 按子句分组的用户会话标识符列表。 GroupByUserSession[]
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
rateLimitDuration 将应用速率限制策略的持续时间。 仅适用于 ruleType 为 RateLimitRule 时。 “FiveMins”
“OneMin”
rateLimitThreshold 在 ruleType 为 RateLimitRule 的情况下要应用的速率限制阈值。 必须大于或等于 1 int
ruleType 规则类型。 “Invalid”
“MatchRule”
“RateLimitRule”(必需)
描述自定义规则是否处于启用或禁用状态。 如果未指定,则默认为 Enabled。 “Disabled”
“Enabled”

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 策略中的自定义规则。 WebApplicationFirewallCustomRule[]
managedRules 描述 managedRules 结构。 ManagedRulesDefinition (必需)
policySettings 策略的 PolicySettings。 PolicySettings

WebApplicationFirewallScrubbingRules

名字 描述 价值
matchVariable 要从日志中清理的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”
'RequestIPAddress'
'RequestJSONArgNames'
“RequestPostArgNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此规则应用于的集合中的哪些元素。 字符串
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此规则应用于的集合中的哪些元素。 “Equals”
“EqualsAny”(必需)
定义日志清理规则的状态。 默认值为“已启用”。 “Disabled”
“Enabled”