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

Microsoft.Network FrontDoorWebApplicationFirewallPolicies 2018-08-01

Bicep 资源定义

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

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

资源格式

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

resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2018-08-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    customRules: {
      rules: [
        {
          action: 'string'
          matchConditions: [
            {
              matchValue: [
                'string'
              ]
              matchVariable: 'string'
              negateCondition: bool
              operator: 'string'
              selector: 'string'
            }
          ]
          name: 'string'
          priority: int
          rateLimitDurationInMinutes: int
          rateLimitThreshold: int
          ruleType: 'string'
          transforms: [
            'string'
          ]
        }
      ]
    }
    managedRules: {
      ruleSets: [
        {
          priority: int
          version: int
          ruleSetType: 'string'
          // For remaining properties, see ManagedRuleSet objects
        }
      ]
    }
    policySettings: {
      enabledState: 'string'
      mode: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

ManagedRuleSet 对象

设置 ruleSetType 属性以指定对象的类型。

对于 AzureManagedRuleSet,请使用:

{
  ruleGroupOverrides: [
    {
      action: 'string'
      ruleGroupOverride: 'string'
    }
  ]
  ruleSetType: 'AzureManagedRuleSet'
}

属性值

AzureManagedOverrideRuleGroup

名字 描述 价值
行动 操作类型 “允许”
“Block”
“Log”(必需)
ruleGroupOverride 描述重写规则组 “SqlInjection”
“XSS”(必需)

AzureManagedRuleSet

名字 描述 价值
ruleGroupOverrides Azure 托管提供程序替代配置列表(可选) AzureManagedOverrideRuleGroup[]
ruleSetType RuleSetType - AzureManagedRuleSet 或 OWASP RuleSets。 “AzureManagedRuleSet”(必需)

CustomRule

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

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估值较低的规则 int (必需)
rateLimitDurationInMinutes 定义速率限制持续时间。 默认值 - 1 分钟 int
rateLimitThreshold 定义速率限制阈值 int
ruleType 描述规则的类型 “MatchRule”
“RateLimitRule”(必需)
变换 转换列表 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

CustomRules

名字 描述 价值
规则 规则列表 CustomRule[]

ManagedRuleSet

名字 描述 价值
优先权 描述规则的优先级 int
ruleSetType 对于 AzureManagedRuleSet,请设置为“AzureManagedRuleSet”。 “AzureManagedRuleSet”(必需)
版本 定义规则集的版本 int

ManagedRuleSets

名字 描述 价值
ruleSets 规则列表 ManagedRuleSet[]

MatchConditionAutoGenerated

名字 描述 价值
matchValue 匹配值 string[] (必需)
matchVariable 匹配变量 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestHeader”
“RequestMethod”
“RequestUri”(必需)
negateCondition 描述这是否为否定条件 bool
算子 描述要匹配的运算符 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”(必需)
选择器 要匹配的 RequestHeader 或 RequestBody 中的选择器的名称 字符串

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

名字 描述 价值
etag 获取在更新资源时更改的唯一只读字符串。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

PolicySettings

名字 描述 价值
enabledState 描述策略是否处于启用状态或禁用状态 “Disabled”
“Enabled”
模式 描述它在策略级别是否处于检测模式或预防模式 “检测”
“预防”

ResourceTags

名字 描述 价值

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 描述策略中的自定义规则 CustomRules
managedRules 描述策略中的托管规则 ManagedRuleSets
policySettings 描述策略的 policySettings PolicySettings

快速入门示例

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

Bicep 文件 描述
为 Azure Front Door 配置 WAF 托管 defaultRuleSet 此模板配置适用于 Azure Front Door 的 WAF 托管 defaultRuleSet
使用 blob 源和专用链接 Front Door Premium 此模板创建 Front Door Premium 和 Azure 存储 Blob 容器,并使用 Front Door 的专用终结点将流量发送到存储帐户。
使用 WAF 和Microsoft托管的规则集 Front Door Premium 此模板创建一个 Front Door Premium,其中包括具有Microsoft托管的默认和机器人保护规则集的 Web 应用程序防火墙。
使用异地筛选 Front Door 标准版/高级版 此模板创建 Front Door 标准版/高级版,包括具有地理筛选规则的 Web 应用程序防火墙。
Front Door 标准版/高级版,速率限制为 此模板创建 Front Door 标准版/高级版,包括具有速率限制规则的 Web 应用程序防火墙。
使用 WAF 和自定义规则 Front Door 标准版/高级版 此模板创建 Front Door 标准版/高级版,包括具有自定义规则的 Web 应用程序防火墙。
使用 blob 上传 的 blob 源 Front Door 此模板创建一个 Front Door,其中包含源、路由和 ruleSet,以及一个包含 Blob 容器的 Azure 存储帐户。 Front Door 在上传文件时向存储帐户发送流量。
使用 WAF、域和日志将 FrontDoor CDN EventHub 此模板创建新的 Azure FrontDoor cdn 配置文件。 使用自定义和托管规则、cdn 路由、源和组与 WAF 和路由关联创建 WAF,配置自定义域,创建事件中心和诊断设置,以便使用事件中心发送 CDN 访问日志。
受 Azure Frontdoor 保护的 Function App 此模板允许部署受 Azure Frontdoor 高级版保护并发布的 Azure 高级函数。 Azure Frontdoor 和 Azure Functions 之间的连接受 Azure 专用链接的保护。

ARM 模板资源定义

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

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

资源格式

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

{
  "type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
  "apiVersion": "2018-08-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "customRules": {
      "rules": [
        {
          "action": "string",
          "matchConditions": [
            {
              "matchValue": [ "string" ],
              "matchVariable": "string",
              "negateCondition": "bool",
              "operator": "string",
              "selector": "string"
            }
          ],
          "name": "string",
          "priority": "int",
          "rateLimitDurationInMinutes": "int",
          "rateLimitThreshold": "int",
          "ruleType": "string",
          "transforms": [ "string" ]
        }
      ]
    },
    "managedRules": {
      "ruleSets": [ {
        "priority": "int",
        "version": "int",
        "ruleSetType": "string"
        // For remaining properties, see ManagedRuleSet objects
      } ]
    },
    "policySettings": {
      "enabledState": "string",
      "mode": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

ManagedRuleSet 对象

设置 ruleSetType 属性以指定对象的类型。

对于 AzureManagedRuleSet,请使用:

{
  "ruleGroupOverrides": [
    {
      "action": "string",
      "ruleGroupOverride": "string"
    }
  ],
  "ruleSetType": "AzureManagedRuleSet"
}

属性值

AzureManagedOverrideRuleGroup

名字 描述 价值
行动 操作类型 “允许”
“Block”
“Log”(必需)
ruleGroupOverride 描述重写规则组 “SqlInjection”
“XSS”(必需)

AzureManagedRuleSet

名字 描述 价值
ruleGroupOverrides Azure 托管提供程序替代配置列表(可选) AzureManagedOverrideRuleGroup[]
ruleSetType RuleSetType - AzureManagedRuleSet 或 OWASP RuleSets。 “AzureManagedRuleSet”(必需)

CustomRule

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

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估值较低的规则 int (必需)
rateLimitDurationInMinutes 定义速率限制持续时间。 默认值 - 1 分钟 int
rateLimitThreshold 定义速率限制阈值 int
ruleType 描述规则的类型 “MatchRule”
“RateLimitRule”(必需)
变换 转换列表 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

CustomRules

名字 描述 价值
规则 规则列表 CustomRule[]

ManagedRuleSet

名字 描述 价值
优先权 描述规则的优先级 int
ruleSetType 对于 AzureManagedRuleSet,请设置为“AzureManagedRuleSet”。 “AzureManagedRuleSet”(必需)
版本 定义规则集的版本 int

ManagedRuleSets

名字 描述 价值
ruleSets 规则列表 ManagedRuleSet[]

MatchConditionAutoGenerated

名字 描述 价值
matchValue 匹配值 string[] (必需)
matchVariable 匹配变量 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestHeader”
“RequestMethod”
“RequestUri”(必需)
negateCondition 描述这是否为否定条件 bool
算子 描述要匹配的运算符 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”(必需)
选择器 要匹配的 RequestHeader 或 RequestBody 中的选择器的名称 字符串

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

名字 描述 价值
apiVersion API 版本 '2018-08-01'
etag 获取在更新资源时更改的唯一只读字符串。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

PolicySettings

名字 描述 价值
enabledState 描述策略是否处于启用状态或禁用状态 “Disabled”
“Enabled”
模式 描述它在策略级别是否处于检测模式或预防模式 “检测”
“预防”

ResourceTags

名字 描述 价值

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 描述策略中的自定义规则 CustomRules
managedRules 描述策略中的托管规则 ManagedRuleSets
policySettings 描述策略的 policySettings PolicySettings

快速入门模板

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

模板 描述
为 Azure Front Door 配置 WAF 客户端 IP 限制

部署到 Azure
此模板为 Azure Front Door 终结点配置 WAF 客户端 IP 限制
为 Azure Front Door 配置 WAF 托管 defaultRuleSet

部署到 Azure
此模板配置适用于 Azure Front Door 的 WAF 托管 defaultRuleSet
为 Azure Front Door 终结点配置 WAF 速率限制规则

部署到 Azure
此模板为 Azure Front Door 配置 WAF 规则,以对给定前端主机的传入流量进行速率限制。
为 Front Door 配置 HTTP 参数的 WAF 规则

部署到 Azure
此模板基于 Azure Front Door 终结点的特定 http 参数配置 WAF 自定义规则。
在 Azure API 管理 前创建 Azure Front Door

部署到 Azure
此示例演示如何在 Azure API 管理之前将 Azure Front Door 用作全局负载均衡器。
为 Azure Front Door 终结点创建 WAF 地理筛选规则

部署到 Azure
此模板为 Azure Front Door 创建 WAF 地理筛选规则,该规则允许/阻止来自某些国家的流量。
使用 blob 源和专用链接 Front Door Premium

部署到 Azure
此模板创建 Front Door Premium 和 Azure 存储 Blob 容器,并使用 Front Door 的专用终结点将流量发送到存储帐户。
使用 WAF 和Microsoft托管的规则集 Front Door Premium

部署到 Azure
此模板创建一个 Front Door Premium,其中包括具有Microsoft托管的默认和机器人保护规则集的 Web 应用程序防火墙。
使用异地筛选 Front Door 标准版/高级版

部署到 Azure
此模板创建 Front Door 标准版/高级版,包括具有地理筛选规则的 Web 应用程序防火墙。
Front Door 标准版/高级版,速率限制为

部署到 Azure
此模板创建 Front Door 标准版/高级版,包括具有速率限制规则的 Web 应用程序防火墙。
使用 WAF 和自定义规则 Front Door 标准版/高级版

部署到 Azure
此模板创建 Front Door 标准版/高级版,包括具有自定义规则的 Web 应用程序防火墙。
使用 blob 上传 的 blob 源 Front Door

部署到 Azure
此模板创建一个 Front Door,其中包含源、路由和 ruleSet,以及一个包含 Blob 容器的 Azure 存储帐户。 Front Door 在上传文件时向存储帐户发送流量。
使用 WAF、域和日志将 FrontDoor CDN EventHub

部署到 Azure
此模板创建新的 Azure FrontDoor cdn 配置文件。 使用自定义和托管规则、cdn 路由、源和组与 WAF 和路由关联创建 WAF,配置自定义域,创建事件中心和诊断设置,以便使用事件中心发送 CDN 访问日志。
受 Azure Frontdoor 保护的 Function App

部署到 Azure
此模板允许部署受 Azure Frontdoor 高级版保护并发布的 Azure 高级函数。 Azure Frontdoor 和 Azure Functions 之间的连接受 Azure 专用链接的保护。

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

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

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2018-08-01"
  name = "string"
  etag = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      customRules = {
        rules = [
          {
            action = "string"
            matchConditions = [
              {
                matchValue = [
                  "string"
                ]
                matchVariable = "string"
                negateCondition = bool
                operator = "string"
                selector = "string"
              }
            ]
            name = "string"
            priority = int
            rateLimitDurationInMinutes = int
            rateLimitThreshold = int
            ruleType = "string"
            transforms = [
              "string"
            ]
          }
        ]
      }
      managedRules = {
        ruleSets = [
          {
            priority = int
            version = int
            ruleSetType = "string"
            // For remaining properties, see ManagedRuleSet objects
          }
        ]
      }
      policySettings = {
        enabledState = "string"
        mode = "string"
      }
    }
  })
}

ManagedRuleSet 对象

设置 ruleSetType 属性以指定对象的类型。

对于 AzureManagedRuleSet,请使用:

{
  ruleGroupOverrides = [
    {
      action = "string"
      ruleGroupOverride = "string"
    }
  ]
  ruleSetType = "AzureManagedRuleSet"
}

属性值

AzureManagedOverrideRuleGroup

名字 描述 价值
行动 操作类型 “允许”
“Block”
“Log”(必需)
ruleGroupOverride 描述重写规则组 “SqlInjection”
“XSS”(必需)

AzureManagedRuleSet

名字 描述 价值
ruleGroupOverrides Azure 托管提供程序替代配置列表(可选) AzureManagedOverrideRuleGroup[]
ruleSetType RuleSetType - AzureManagedRuleSet 或 OWASP RuleSets。 “AzureManagedRuleSet”(必需)

CustomRule

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

约束:
最大长度 =
优先权 描述规则的优先级。 在具有较高值的规则之前,将评估值较低的规则 int (必需)
rateLimitDurationInMinutes 定义速率限制持续时间。 默认值 - 1 分钟 int
rateLimitThreshold 定义速率限制阈值 int
ruleType 描述规则的类型 “MatchRule”
“RateLimitRule”(必需)
变换 转换列表 包含任一项的字符串数组:
“HtmlEntityDecode”
“小写”
“RemoveNulls”
“Trim”
“大写”
“UrlDecode”
“UrlEncode”

CustomRules

名字 描述 价值
规则 规则列表 CustomRule[]

ManagedRuleSet

名字 描述 价值
优先权 描述规则的优先级 int
ruleSetType 对于 AzureManagedRuleSet,请设置为“AzureManagedRuleSet”。 “AzureManagedRuleSet”(必需)
版本 定义规则集的版本 int

ManagedRuleSets

名字 描述 价值
ruleSets 规则列表 ManagedRuleSet[]

MatchConditionAutoGenerated

名字 描述 价值
matchValue 匹配值 string[] (必需)
matchVariable 匹配变量 “PostArgs”
“QueryString”
“RemoteAddr”
“RequestBody”
“RequestHeader”
“RequestMethod”
“RequestUri”(必需)
negateCondition 描述这是否为否定条件 bool
算子 描述要匹配的运算符 “Any”
“BeginsWith”
“Contains”
“EndsWith”
“Equal”
“GeoMatch”
“GreaterThan”
“GreaterThanOrEqual”
“IPMatch”
“LessThan”
“LessThanOrEqual”(必需)
选择器 要匹配的 RequestHeader 或 RequestBody 中的选择器的名称 字符串

Microsoft.Network/FrontDoorWebApplicationFirewallPolicies

名字 描述 价值
etag 获取在更新资源时更改的唯一只读字符串。 字符串
位置 资源位置。 字符串
名字 资源名称 字符串

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

PolicySettings

名字 描述 价值
enabledState 描述策略是否处于启用状态或禁用状态 “Disabled”
“Enabled”
模式 描述它在策略级别是否处于检测模式或预防模式 “检测”
“预防”

ResourceTags

名字 描述 价值

WebApplicationFirewallPolicyPropertiesFormat

名字 描述 价值
customRules 描述策略中的自定义规则 CustomRules
managedRules 描述策略中的托管规则 ManagedRuleSets
policySettings 描述策略的 policySettings PolicySettings