Compartilhar via


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2022-11-01

Definição de recurso do Bicep

O tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o Bicep a seguir ao modelo.

resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  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
      logScrubbing: {
        scrubbingRules: [
          {
            matchVariable: 'string'
            selector: 'string'
            selectorMatchOperator: 'string'
            state: 'string'
          }
        ]
        state: 'string'
      }
      maxRequestBodySizeInKb: int
      mode: 'string'
      requestBodyCheck: bool
      requestBodyEnforcement: bool
      requestBodyInspectLimitInKB: int
      state: 'string'
    }
  }
}

Valores de propriedade

ApplicationGatewayWebApplicationFirewallPolicies

Nome Descrição Valor
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. string
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Consulte Marcas em modelos
properties Propriedades da política de firewall do aplicativo Web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nome Descrição Valor
customRules As regras personalizadas dentro da política. WebApplicationFirewallCustomRule[]
managedRules Descreve a estrutura managedRules. ManagedRulesDefinition (obrigatório)
policySettings As PolicySettings para a política. PolicySettings

WebApplicationFirewallCustomRule

Nome Descrição Valor
ação Tipo de Ações. 'Allow'
'Bloquear'
'Log' (obrigatório)
groupByUserSession Lista de cláusulas group by do identificador de sessão do usuário. GroupByUserSession[]
matchConditions Lista de condições de correspondência. MatchCondition[] (obrigatório)
name O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. string

Restrições:
Comprimento máximo = 128
priority Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes de regras com um valor mais alto. int (obrigatório)
rateLimitDuration Duração sobre a qual a política limite de taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. 'FiveMins'
'OneMin'
rateLimitThreshold Limite de limite de taxa a ser aplicado no caso de ruleType ser RateLimitRule. Deve ser maior ou igual a 1 INT
ruleType O tipo de regra. 'Inválido'
'MatchRule'
'RateLimitRule' (obrigatório)
state Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão será Habilitado se não for especificado. 'Desabilitado'
'Enabled'

GroupByUserSession

Nome Descrição Valor
groupByVariables Lista de variáveis de cláusula group by. GroupByVariable[] (obrigatório)

GroupByVariable

Nome Descrição Valor
variableName Variável de cláusula De sessão do usuário. 'ClientAddr'
'GeoLocation'
'None' (obrigatório)

MatchCondition

Nome Descrição Valor
matchValues Valor de correspondência. string[] (obrigatório)
matchVariables Lista de variáveis de correspondência. MatchVariable[] (obrigatório)
negationConditon Esta é uma condição de negação ou não. bool
operador O operador a ser correspondido. 'Any'
'BeginsWith'
'Contains'
'EndsWith'
'Equal'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (obrigatório)
transformações Lista de transformações. Matriz de cadeia de caracteres que contém qualquer um dos:
'HtmlEntityDecode'
'Minúsculo'
'RemoveNulls'
'Trim'
'Maiúsculo'
'UrlDecode'
'UrlEncode'

MatchVariable

Nome Descrição Valor
seletor O seletor da variável de correspondência. string
variableName Variável de correspondência. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (obrigatório)

ManagedRulesDefinition

Nome Descrição Valor
exclusões As Exclusões aplicadas na política. OwaspCrsExclusionEntry[]
managedRuleSets Os conjuntos de regras gerenciadas associados à política. ManagedRuleSet[] (obrigatório)

OwaspCrsExclusionEntry

Nome Descrição Valor
exclusionManagedRuleSets Os conjuntos de regras gerenciadas associados à exclusão. ExclusionManagedRuleSet[]
matchVariable A variável a ser excluída. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa exclusão se aplica. cadeia de caracteres (obrigatório)
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa exclusão se aplica. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith' (obrigatório)

ExclusionManagedRuleSet

Nome Descrição Valor
ruleGroups Define os grupos de regras a serem aplicados ao conjunto de regras. ExclusionManagedRuleGroup[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usada. cadeia de caracteres (obrigatório)

ExclusionManagedRuleGroup

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas para exclusão. cadeia de caracteres (obrigatório)
regras Lista de regras que serão excluídas. Se nenhuma for especificada, todas as regras no grupo serão excluídas. ExclusionManagedRule[]

ExclusionManagedRule

Nome Descrição Valor
ruleId Identificador da regra gerenciada. cadeia de caracteres (obrigatório)

ManagedRuleSet

Nome Descrição Valor
ruleGroupOverrides Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. ManagedRuleGroupOverride[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usada. cadeia de caracteres (obrigatório)

ManagedRuleGroupOverride

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas a ser substituído. cadeia de caracteres (obrigatório)
regras Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras no grupo serão desabilitadas. ManagedRuleOverride[]

ManagedRuleOverride

Nome Descrição Valor
ação Descreve a ação de substituição a ser aplicada quando a regra corresponde. 'Allow'
'AnomalyScoring'
'Bloquear'
'Log'
ruleId Identificador da regra gerenciada. cadeia de caracteres (obrigatório)
state O estado da regra gerenciada. O padrão será Desabilitado se não for especificado. 'Desabilitado'
'Enabled'

PolicySettings

Nome Descrição Valor
customBlockResponseBody Se o tipo de ação for bloqueado, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. string

Restrições:
Comprimento máximo = 32768
Padrão = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Se o tipo de ação for bloqueado, o cliente poderá substituir a resposta status código. INT

Restrições:
Valor mínimo = 0
fileUploadEnforcement Se permite que o WAF imponha limites de upload de arquivo. bool
fileUploadLimitInMb Tamanho máximo de upload de arquivo em Mb para WAF. INT

Restrições:
Valor mínimo = 0
logScrubbing Para limpar campos de log confidenciais PolicySettingsLogScrubbing
maxRequestBodySizeInKb Tamanho máximo do corpo da solicitação em Kb para WAF. INT

Restrições:
Valor mínimo = 8
mode O modo da política. 'Detection'
'Prevenção'
requestBodyCheck Se deseja permitir que o WAF marcar corpo da solicitação. bool
requestBodyEnforcement Se permite que o WAF imponha limites de corpo da solicitação. bool
requestBodyInspectLimitInKB Limite máximo de inspeção em KB para inspeção do corpo da solicitação para WAF. INT
state O estado da política. 'Desabilitado'
'Enabled'

PolicySettingsLogScrubbing

Nome Descrição Valor
scrubbingRules As regras que são aplicadas aos logs para depuração. WebApplicationFirewallScrubbingRules[]
state Estado da configuração de depuração de log. O valor padrão é Habilitado. 'Desabilitado'
'Enabled'

WebApplicationFirewallScrubbingRules

Nome Descrição Valor
matchVariable A variável a ser removida dos logs. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa regra se aplica. string
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. 'Equals'
'EqualsAny' (obrigatório)
state Define o estado da regra de depuração de log. O valor padrão é Habilitado. 'Desabilitado'
'Enabled'

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Create um WAF do Azure v2 no Gateway de Aplicativo do Azure

Implantar no Azure
Este modelo cria um Azure Firewall de Aplicativo Web v2 em Gateway de Aplicativo do Azure com dois servidores Windows Server 2016 no pool de back-end
Cluster do AKS com um Gateway da NAT e um Gateway de Aplicativo

Implantar no Azure
Este exemplo mostra como implantar um cluster do AKS com o Gateway da NAT para conexões de saída e um Gateway de Aplicativo para conexões de entrada.
Front Door Standard/Premium com Gateway de Aplicativo origem

Implantar no Azure
Este modelo cria um Front Door Standard/Premium e uma instância Gateway de Aplicativo e usa uma política de NSG e WAF para validar se o tráfego passou pela origem do Front Door.
Front Door com Instâncias de Contêiner e Gateway de Aplicativo

Implantar no Azure
Este modelo cria um Front Door Standard/Premium com um grupo de contêineres e Gateway de Aplicativo.
Cluster do AKS com o controlador de entrada do Gateway de Aplicativo

Implantar no Azure
Este exemplo mostra como implantar um cluster do AKS com Gateway de Aplicativo, controlador de entrada Gateway de Aplicativo, Registro de Contêiner do Azure, Log Analytics e Key Vault
Gateway de Aplicativo com WAF e política de firewall

Implantar no Azure
Este modelo cria um Gateway de Aplicativo com WAF configurado junto com uma política de firewall

Definição de recurso de modelo do ARM

O tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:

Para obter uma lista das propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o JSON a seguir ao modelo.

{
  "type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
  "apiVersion": "2022-11-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "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",
      "logScrubbing": {
        "scrubbingRules": [
          {
            "matchVariable": "string",
            "selector": "string",
            "selectorMatchOperator": "string",
            "state": "string"
          }
        ],
        "state": "string"
      },
      "maxRequestBodySizeInKb": "int",
      "mode": "string",
      "requestBodyCheck": "bool",
      "requestBodyEnforcement": "bool",
      "requestBodyInspectLimitInKB": "int",
      "state": "string"
    }
  }
}

Valores de propriedade

ApplicationGatewayWebApplicationFirewallPolicies

Nome Descrição Valor
tipo O tipo de recurso 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies'
apiVersion A versão da API do recurso '2022-11-01'
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. string
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Confira Marcas em modelos
properties Propriedades da política de firewall do aplicativo Web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nome Descrição Valor
customRules As regras personalizadas dentro da política. WebApplicationFirewallCustomRule[]
managedRules Descreve a estrutura managedRules. ManagedRulesDefinition (obrigatório)
policySettings As PolicySettings para a política. PolicySettings

WebApplicationFirewallCustomRule

Nome Descrição Valor
ação Tipo de Ações. 'Allow'
'Bloquear'
'Log' (obrigatório)
groupByUserSession Lista de cláusulas group by do identificador de sessão do usuário. GroupByUserSession[]
matchConditions Lista de condições de correspondência. MatchCondition[] (obrigatório)
name O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. string

Restrições:
Comprimento máximo = 128
priority Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais alto. int (obrigatório)
rateLimitDuration Duração sobre a qual a política limite de taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. 'FiveMins'
'OneMin'
rateLimitThreshold Limite de taxa a ser aplicado no caso de ruleType ser RateLimitRule. Deve ser maior ou igual a 1 INT
ruleType O tipo de regra. 'Inválido'
'MatchRule'
'RateLimitRule' (obrigatório)
state Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. 'Desabilitado'
'Enabled'

GroupByUserSession

Nome Descrição Valor
groupByVariables Lista de variáveis de cláusula group by. GroupByVariable[] (obrigatório)

GroupByVariable

Nome Descrição Valor
variableName Variável da cláusula User Session. 'ClientAddr'
'GeoLocation'
'None' (obrigatório)

MatchCondition

Nome Descrição Valor
matchValues Valor de correspondência. string[] (obrigatório)
matchVariables Lista de variáveis de correspondência. MatchVariable[] (obrigatório)
negationConditon Esta condição é negada ou não. bool
operador O operador a ser correspondido. 'Any'
'BeginsWith'
'Contains'
'EndsWith'
'Equal'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (obrigatório)
transformações Lista de transformações. Matriz de cadeia de caracteres que contém qualquer um dos:
'HtmlEntityDecode'
'Minúsculo'
'RemoveNulls'
'Trim'
'Maiúsculo'
'UrlDecode'
'UrlEncode'

MatchVariable

Nome Descrição Valor
seletor O seletor da variável de correspondência. string
variableName Variável de correspondência. 'PostArgs'
'QueryString'
'RemoteAddr'
'RequestBody'
'RequestCookies'
'RequestHeaders'
'RequestMethod'
'RequestUri' (obrigatório)

ManagedRulesDefinition

Nome Descrição Valor
exclusões As Exclusões que são aplicadas na política. OwaspCrsExclusionEntry[]
managedRuleSets Os conjuntos de regras gerenciadas associados à política. ManagedRuleSet[] (obrigatório)

OwaspCrsExclusionEntry

Nome Descrição Valor
exclusionManagedRuleSets Os conjuntos de regras gerenciadas associados à exclusão. ExclusionManagedRuleSet[]
matchVariable A variável a ser excluída. 'RequestArgKeys'
'RequestArgNames'
'RequestArgValues'
'RequestCookieKeys'
'RequestCookieNames'
'RequestCookieValues'
'RequestHeaderKeys'
'RequestHeaderNames'
'RequestHeaderValues' (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa exclusão se aplica. cadeia de caracteres (obrigatório)
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa exclusão se aplica. 'Contains'
'EndsWith'
'Equals'
'EqualsAny'
'StartsWith' (obrigatório)

ExclusionManagedRuleSet

Nome Descrição Valor
ruleGroups Define os grupos de regras a serem aplicados ao conjunto de regras. ExclusionManagedRuleGroup[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usada. cadeia de caracteres (obrigatório)

ExclusionManagedRuleGroup

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas para exclusão. cadeia de caracteres (obrigatório)
regras Lista de regras que serão excluídas. Se nenhuma for especificada, todas as regras no grupo serão excluídas. ExclusionManagedRule[]

ExclusionManagedRule

Nome Descrição Valor
ruleId Identificador da regra gerenciada. cadeia de caracteres (obrigatório)

ManagedRuleSet

Nome Descrição Valor
ruleGroupOverrides Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. ManagedRuleGroupOverride[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usada. cadeia de caracteres (obrigatório)

ManagedRuleGroupOverride

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas a ser substituído. cadeia de caracteres (obrigatório)
regras Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras no grupo serão desabilitadas. ManagedRuleOverride[]

ManagedRuleOverride

Nome Descrição Valor
ação Descreve a ação de substituição a ser aplicada quando a regra corresponde. 'Allow'
'AnomalyScoring'
'Bloquear'
'Log'
ruleId Identificador da regra gerenciada. cadeia de caracteres (obrigatório)
state O estado da regra gerenciada. O padrão será Desabilitado se não for especificado. 'Desabilitado'
'Enabled'

PolicySettings

Nome Descrição Valor
customBlockResponseBody Se o tipo de ação for bloqueado, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. string

Restrições:
Comprimento máximo = 32768
Padrão = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Se o tipo de ação for bloqueado, o cliente poderá substituir a resposta status código. INT

Restrições:
Valor mínimo = 0
fileUploadEnforcement Se permite que o WAF imponha limites de upload de arquivo. bool
fileUploadLimitInMb Tamanho máximo de upload de arquivo em Mb para WAF. INT

Restrições:
Valor mínimo = 0
logScrubbing Para limpar campos de log confidenciais PolicySettingsLogScrubbing
maxRequestBodySizeInKb Tamanho máximo do corpo da solicitação em Kb para WAF. INT

Restrições:
Valor mínimo = 8
mode O modo da política. 'Detection'
'Prevenção'
requestBodyCheck Se deseja permitir que o WAF marcar corpo da solicitação. bool
requestBodyEnforcement Se permite que o WAF imponha limites de corpo da solicitação. bool
requestBodyInspectLimitInKB Limite máximo de inspeção em KB para inspeção do corpo da solicitação para WAF. INT
state O estado da política. 'Desabilitado'
'Enabled'

PolicySettingsLogScrubbing

Nome Descrição Valor
scrubbingRules As regras que são aplicadas aos logs para depuração. WebApplicationFirewallScrubbingRules[]
state Estado da configuração de limpeza de log. O valor padrão é Habilitado. 'Desabilitado'
'Enabled'

WebApplicationFirewallScrubbingRules

Nome Descrição Valor
matchVariable A variável a ser removida dos logs. 'RequestArgNames'
'RequestCookieNames'
'RequestHeaderNames'
'RequestIPAddress'
'RequestJSONArgNames'
'RequestPostArgNames' (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa regra se aplica. string
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. 'Equals'
'EqualsAny' (obrigatório)
state Define o estado da regra de limpeza de log. O valor padrão é Habilitado. 'Desabilitado'
'Enabled'

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Create um WAF do Azure v2 no Gateway de Aplicativo do Azure

Implantar no Azure
Este modelo cria um Azure Firewall de Aplicativo Web v2 em Gateway de Aplicativo do Azure com dois servidores Windows Server 2016 no pool de back-end
Cluster do AKS com um Gateway da NAT e um Gateway de Aplicativo

Implantar no Azure
Este exemplo mostra como implantar um cluster do AKS com o Gateway da NAT para conexões de saída e um Gateway de Aplicativo para conexões de entrada.
Front Door Standard/Premium com Gateway de Aplicativo origem

Implantar no Azure
Este modelo cria uma instância do Front Door Standard/Premium e uma Gateway de Aplicativo e usa uma política de NSG e WAF para validar se o tráfego passou pela origem do Front Door.
Front Door com Instâncias de Contêiner e Gateway de Aplicativo

Implantar no Azure
Este modelo cria um Front Door Standard/Premium com um grupo de contêineres e Gateway de Aplicativo.
Cluster do AKS com o controlador de entrada Gateway de Aplicativo

Implantar no Azure
Este exemplo mostra como implantar um cluster do AKS com Gateway de Aplicativo, controlador de entrada Gateway de Aplicativo, Registro de Contêiner do Azure, Log Analytics e Key Vault
Gateway de Aplicativo com o WAF e a política de firewall

Implantar no Azure
Este modelo cria um Gateway de Aplicativo com WAF configurado junto com uma política de firewall

Definição de recurso do Terraform (provedor AzAPI)

O tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o Terraform a seguir ao modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  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
        logScrubbing = {
          scrubbingRules = [
            {
              matchVariable = "string"
              selector = "string"
              selectorMatchOperator = "string"
              state = "string"
            }
          ]
          state = "string"
        }
        maxRequestBodySizeInKb = int
        mode = "string"
        requestBodyCheck = bool
        requestBodyEnforcement = bool
        requestBodyInspectLimitInKB = int
        state = "string"
      }
    }
  })
}

Valores de propriedade

ApplicationGatewayWebApplicationFirewallPolicies

Nome Descrição Valor
tipo O tipo de recurso "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-11-01"
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. string
parent_id Para implantar em um grupo de recursos, use a ID desse grupo de recursos. cadeia de caracteres (obrigatório)
marcas Marcas de recurso. Dicionário de nomes e valores de marcas.
properties Propriedades da política de firewall do aplicativo Web. WebApplicationFirewallPolicyPropertiesFormat

WebApplicationFirewallPolicyPropertiesFormat

Nome Descrição Valor
customRules As regras personalizadas dentro da política. WebApplicationFirewallCustomRule[]
managedRules Descreve a estrutura managedRules. ManagedRulesDefinition (obrigatório)
policySettings As PolicySettings para a política. PolicySettings

WebApplicationFirewallCustomRule

Nome Descrição Valor
ação Tipo de Ações. "Permitir"
"Bloquear"
"Log" (obrigatório)
groupByUserSession Lista de cláusulas group by do identificador de sessão do usuário. GroupByUserSession[]
matchConditions Lista de condições de correspondência. MatchCondition[] (obrigatório)
name O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. string

Restrições:
Comprimento máximo = 128
priority Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais alto. int (obrigatório)
rateLimitDuration Duração sobre a qual a política limite de taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. "FiveMins"
"OneMin"
rateLimitThreshold Limite de taxa a ser aplicado no caso de ruleType ser RateLimitRule. Deve ser maior ou igual a 1 INT
ruleType O tipo de regra. "Inválido"
"MatchRule"
"RateLimitRule" (obrigatório)
state Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. "Desabilitado"
"Habilitado"

GroupByUserSession

Nome Descrição Valor
groupByVariables Lista de variáveis de cláusula group by. GroupByVariable[] (obrigatório)

GroupByVariable

Nome Descrição Valor
variableName Variável da cláusula User Session. "ClientAddr"
"Geolocalização"
"None" (obrigatório)

MatchCondition

Nome Descrição Valor
matchValues Valor de correspondência. string[] (obrigatório)
matchVariables Lista de variáveis de correspondência. MatchVariable[] (obrigatório)
negationConditon Esta condição é negada ou não. bool
operador O operador a ser correspondido. "Qualquer"
"BeginsWith"
"Contains"
"EndsWith"
"Igual"
"GeoMatch"
"GreaterThan"
"GreaterThanOrEqual"
"IPMatch"
"LessThan"
"LessThanOrEqual"
"Regex" (obrigatório)
transformações Lista de transformações. Matriz de cadeia de caracteres que contém qualquer um dos:
"HtmlEntityDecode"
"Minúsculas"
"RemoveNulls"
"Cortar"
"Maiúsculas"
"UrlDecode"
"UrlEncode"

MatchVariable

Nome Descrição Valor
seletor O seletor da variável de correspondência. string
variableName Variável de correspondência. "PostArgs"
"QueryString"
"RemoteAddr"
"RequestBody"
"RequestCookies"
"RequestHeaders"
"RequestMethod"
"RequestUri" (obrigatório)

ManagedRulesDefinition

Nome Descrição Valor
exclusões As Exclusões aplicadas na política. OwaspCrsExclusionEntry[]
managedRuleSets Os conjuntos de regras gerenciadas associados à política. ManagedRuleSet[] (obrigatório)

OwaspCrsExclusionEntry

Nome Descrição Valor
exclusionManagedRuleSets Os conjuntos de regras gerenciadas associados à exclusão. ExclusionManagedRuleSet[]
matchVariable A variável a ser excluída. "RequestArgKeys"
"RequestArgNames"
"RequestArgValues"
"RequestCookieKeys"
"RequestCookieNames"
"RequestCookieValues"
"RequestHeaderKeys"
"RequestHeaderNames"
"RequestHeaderValues" (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa exclusão se aplica. cadeia de caracteres (obrigatório)
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa exclusão se aplica. "Contains"
"EndsWith"
"Igual a"
"EqualsAny"
"StartsWith" (obrigatório)

ExclusionManagedRuleSet

Nome Descrição Valor
ruleGroups Define os grupos de regras a serem aplicados ao conjunto de regras. ExclusionManagedRuleGroup[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usado. cadeia de caracteres (obrigatório)

ExclusionManagedRuleGroup

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas para exclusão. cadeia de caracteres (obrigatório)
regras Lista de regras que serão excluídas. Se nenhuma especificada, todas as regras no grupo serão excluídas. ExclusionManagedRule[]

ExclusionManagedRule

Nome Descrição Valor
ruleId Identificador para a regra gerenciada. cadeia de caracteres (obrigatório)

ManagedRuleSet

Nome Descrição Valor
ruleGroupOverrides Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. ManagedRuleGroupOverride[]
ruleSetType Define o tipo de conjunto de regras a ser usado. cadeia de caracteres (obrigatório)
ruleSetVersion Define a versão do conjunto de regras a ser usado. cadeia de caracteres (obrigatório)

ManagedRuleGroupOverride

Nome Descrição Valor
ruleGroupName O grupo de regras gerenciadas a ser substituído. cadeia de caracteres (obrigatório)
regras Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras no grupo serão desabilitadas. ManagedRuleOverride[]

ManagedRuleOverride

Nome Descrição Valor
ação Descreve a ação de substituição a ser aplicada quando a regra corresponde. "Permitir"
"AnomalyScoring"
"Bloquear"
"Log"
ruleId Identificador da regra gerenciada. cadeia de caracteres (obrigatório)
state O estado da regra gerenciada. O padrão será Desabilitado se não for especificado. "Desabilitado"
"Habilitado"

PolicySettings

Nome Descrição Valor
customBlockResponseBody Se o tipo de ação for bloqueado, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. string

Restrições:
Comprimento máximo = 32768
Padrão = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$
customBlockResponseStatusCode Se o tipo de ação for bloqueado, o cliente poderá substituir a resposta status código. INT

Restrições:
Valor mínimo = 0
fileUploadEnforcement Se permite que o WAF imponha limites de upload de arquivo. bool
fileUploadLimitInMb Tamanho máximo de upload de arquivo em Mb para WAF. INT

Restrições:
Valor mínimo = 0
logScrubbing Para limpar campos de log confidenciais PolicySettingsLogScrubbing
maxRequestBodySizeInKb Tamanho máximo do corpo da solicitação em Kb para WAF. INT

Restrições:
Valor mínimo = 8
mode O modo da política. "Detecção"
"Prevenção"
requestBodyCheck Se deseja permitir que o WAF marcar corpo da solicitação. bool
requestBodyEnforcement Se permite que o WAF imponha limites de corpo da solicitação. bool
requestBodyInspectLimitInKB Limite máximo de inspeção em KB para inspeção do corpo da solicitação para WAF. INT
state O estado da política. "Desabilitado"
"Habilitado"

PolicySettingsLogScrubbing

Nome Descrição Valor
scrubbingRules As regras que são aplicadas aos logs para depuração. WebApplicationFirewallScrubbingRules[]
state Estado da configuração de depuração de log. O valor padrão é Habilitado. "Desabilitado"
"Habilitado"

WebApplicationFirewallScrubbingRules

Nome Descrição Valor
matchVariable A variável a ser removida dos logs. "RequestArgNames"
"RequestCookieNames"
"RequestHeaderNames"
"RequestIPAddress"
"RequestJSONArgNames"
"RequestPostArgNames" (obrigatório)
seletor Quando matchVariable é uma coleção, o operador usado para especificar a quais elementos na coleção essa regra se aplica. string
selectorMatchOperator Quando matchVariable for uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. "Igual a"
"EqualsAny" (obrigatório)
state Define o estado da regra de depuração de log. O valor padrão é Habilitado. "Desabilitado"
"Habilitado"