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

Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2019-08-01

Bicep 资源定义

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

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

资源格式

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

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2019-08-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: [
      {
        action: 'string'
        matchConditions: [
          {
            matchValues: [
              'string'
            ]
            matchVariables: [
              {
                selector: 'string'
                variableName: 'string'
              }
            ]
            negationConditon: bool
            operator: 'string'
            transforms: [
              'string'
            ]
          }
        ]
        name: 'string'
        priority: int
        ruleType: 'string'
      }
    ]
    managedRules: {
      exclusions: [
        {
          matchVariable: 'string'
          selector: 'string'
          selectorMatchOperator: 'string'
        }
      ]
      managedRuleSets: [
        {
          ruleGroupOverrides: [
            {
              ruleGroupName: 'string'
              rules: [
                {
                  ruleId: 'string'
                  state: 'string'
                }
              ]
            }
          ]
          ruleSetType: 'string'
          ruleSetVersion: 'string'
        }
      ]
    }
    policySettings: {
      fileUploadLimitInMb: int
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      state: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

ManagedRuleGroupOverride

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

ManagedRuleOverride

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)
描述托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
etag 一个唯一的只读字符串,每当更新资源时更改。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

OwaspCrsExclusionEntry

名字 描述 价值
matchVariable 要排除的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“EqualsAny”
“StartsWith”(必需)

PolicySettings

名字 描述 价值
fileUploadLimitInMb WAF 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
最大值 = 128
模式 描述它在策略级别是否处于检测模式或预防模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
描述策略是否处于启用状态或禁用状态。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“Log”(必需)
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
ruleType 描述规则的类型。 “Invalid”
“MatchRule”(必需)

WebApplicationFirewallPolicyPropertiesFormat

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

快速入门示例

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

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": "2019-08-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": [
      {
        "action": "string",
        "matchConditions": [
          {
            "matchValues": [ "string" ],
            "matchVariables": [
              {
                "selector": "string",
                "variableName": "string"
              }
            ],
            "negationConditon": "bool",
            "operator": "string",
            "transforms": [ "string" ]
          }
        ],
        "name": "string",
        "priority": "int",
        "ruleType": "string"
      }
    ],
    "managedRules": {
      "exclusions": [
        {
          "matchVariable": "string",
          "selector": "string",
          "selectorMatchOperator": "string"
        }
      ],
      "managedRuleSets": [
        {
          "ruleGroupOverrides": [
            {
              "ruleGroupName": "string",
              "rules": [
                {
                  "ruleId": "string",
                  "state": "string"
                }
              ]
            }
          ],
          "ruleSetType": "string",
          "ruleSetVersion": "string"
        }
      ]
    },
    "policySettings": {
      "fileUploadLimitInMb": "int",
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "state": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

ManagedRuleGroupOverride

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

ManagedRuleOverride

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)
描述托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
apiVersion API 版本 '2019-08-01'
etag 一个唯一的只读字符串,每当更新资源时更改。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

OwaspCrsExclusionEntry

名字 描述 价值
matchVariable 要排除的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“EqualsAny”
“StartsWith”(必需)

PolicySettings

名字 描述 价值
fileUploadLimitInMb WAF 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
最大值 = 128
模式 描述它在策略级别是否处于检测模式或预防模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
描述策略是否处于启用状态或禁用状态。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“Log”(必需)
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
ruleType 描述规则的类型。 “Invalid”
“MatchRule”(必需)

WebApplicationFirewallPolicyPropertiesFormat

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

快速入门模板

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

模板 描述
使用 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@2019-08-01"
  name = "string"
  etag = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      customRules = [
        {
          action = "string"
          matchConditions = [
            {
              matchValues = [
                "string"
              ]
              matchVariables = [
                {
                  selector = "string"
                  variableName = "string"
                }
              ]
              negationConditon = bool
              operator = "string"
              transforms = [
                "string"
              ]
            }
          ]
          name = "string"
          priority = int
          ruleType = "string"
        }
      ]
      managedRules = {
        exclusions = [
          {
            matchVariable = "string"
            selector = "string"
            selectorMatchOperator = "string"
          }
        ]
        managedRuleSets = [
          {
            ruleGroupOverrides = [
              {
                ruleGroupName = "string"
                rules = [
                  {
                    ruleId = "string"
                    state = "string"
                  }
                ]
              }
            ]
            ruleSetType = "string"
            ruleSetVersion = "string"
          }
        ]
      }
      policySettings = {
        fileUploadLimitInMb = int
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        state = "string"
      }
    }
  })
}

属性值

ManagedRuleGroupOverride

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

ManagedRuleOverride

名字 描述 价值
ruleId 托管规则的标识符。 string (必需)
描述托管规则的状态。 如果未指定,则默认为 Disabled。 “Disabled”

ManagedRulesDefinition

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

ManagedRuleSet

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

MatchCondition

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

MatchVariable

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

Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies

名字 描述 价值
etag 一个唯一的只读字符串,每当更新资源时更改。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

OwaspCrsExclusionEntry

名字 描述 价值
matchVariable 要排除的变量。 “RequestArgNames”
“RequestCookieNames”
“RequestHeaderNames”(必需)
选择器 matchVariable 是集合时,运算符用于指定此排除项应用于的集合中的哪些元素。 string (必需)
selectorMatchOperator 如果 matchVariable 是集合,请对选择器进行操作,以指定此排除项应用于的集合中的哪些元素。 “Contains”
“EndsWith”
“Equals”
“EqualsAny”
“StartsWith”(必需)

PolicySettings

名字 描述 价值
fileUploadLimitInMb WAF 的最大文件上传大小(以 Mb 为单位)。 int

约束:
最小值 = 0
maxRequestBodySizeInKb WAF 的最大请求正文大小(以 Kb 为单位)。 int

约束:
最小值 = 8
最大值 = 128
模式 描述它在策略级别是否处于检测模式或预防模式。 “检测”
“预防”
requestBodyCheck 是否允许 WAF 检查请求正文。 bool
描述策略是否处于启用状态或禁用状态。 “Disabled”
“Enabled”

ResourceTags

名字 描述 价值

WebApplicationFirewallCustomRule

名字 描述 价值
行动 操作的类型。 “允许”
“Block”
“Log”(必需)
matchConditions 匹配条件列表。 MatchCondition[] (必需)
名字 策略中唯一的资源的名称。 此名称可用于访问资源。 字符串

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估具有较低值的规则。 int (必需)
ruleType 描述规则的类型。 “Invalid”
“MatchRule”(必需)

WebApplicationFirewallPolicyPropertiesFormat

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