Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
- Últimas
- 2025-01-01
- 2024-10-01
- 2024-07-01
- 2024-05-01
- 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
Definição de recursos do bíceps
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 do recurso
Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o seguinte Bíceps ao seu modelo.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01' = {
scope: resourceSymbolicName or scope
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'
}
}
Valores de propriedade
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Designação | Descrição | Valor |
|---|---|---|
| localização | Localização do recurso. | cadeia (de caracteres) |
| Designação | O nome do recurso | cadeia de caracteres Restrições: Comprimento máximo = 128 (obrigatório) |
| propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyPropertiesFormat |
| âmbito | Use ao criar um recurso em um escopo diferente do escopo de implantação. | Defina essa propriedade como o nome simbólico de um recurso para aplicar o recurso de extensão . |
| Etiquetas | Tags de recursos | Dicionário de nomes e valores de tags. Consulte Tags em modelos |
ExceptionEntry
ExclusionManagedRule
| Designação | Descrição | Valor |
|---|---|---|
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas para exclusão. | string (obrigatório) |
| regras | Lista de regras que serão excluídas. Se nenhuma for especificada, todas as regras do grupo serão excluídas. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
GroupByUserSession
| Designação | Descrição | Valor |
|---|---|---|
| groupByVariables | Lista de variáveis de grupo por cláusula. | GroupByVariable[] (obrigatório) |
GroupByVariable
| Designação | Descrição | Valor |
|---|---|---|
| nomevariável | Variável de cláusula User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Geolocalização' 'GeoLocationXFFHeader' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas a ser substituído. | string (obrigatório) |
| regras | Lista de regras que serão desativadas. Se nenhum for especificado, todas as regras do grupo serão desativadas. | ManagedRuleOverride[] |
ManagedRuleOverride
| Designação | Descrição | Valor |
|---|---|---|
| ação | Descreve a ação de substituição a ser aplicada quando a regra corresponder. | 'Permitir' 'Anomalia' 'Bloqueio' 'JSChallenge' 'Log' |
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
| sensibilidade | Descreve a sensibilidade de substituição a ser aplicada quando a regra corresponder. | 'Alta' 'Baixa' 'Médio' |
| Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
| Designação | Descrição | Valor |
|---|---|---|
| exceções | As exceções que são aplicadas na política. | ExceptionEntry[] |
| Exclusões | As Exclusões aplicadas na política. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Os conjuntos de regras gerenciadas associados à política. | ManagedRuleSet[] (obrigatório) |
ManagedRuleSet
| Designação | Descrição | Valor |
|---|---|---|
| ruleGroupSubstitui | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride[] |
| tipoDeConjuntoDeRegras | Define o tipo de conjunto de regras a ser usado. | string (obrigatório) |
| ruleSetVersion | Define a versão do conjunto de regras a ser usado. | string (obrigatório) |
Condição de correspondência
| Designação | Descrição | Valor |
|---|---|---|
| matchValues | Valor correspondente. | string[] (obrigatório) |
| matchVariables | Lista de variáveis de correspondência. | MatchVariable[] (obrigatório) |
| negaçãoConditon | Se esta é condição negada ou não. | Bool |
| operador | O operador a ser correspondido. | 'Qualquer' 'Começa com' «Contém» 'Acaba com' 'Igual' 'GeoMatch' 'MaiorQue' 'MaiorThanOrEqual' 'IPMatch' 'Menosque' 'LessThanOrEqual' «Regex» (obrigatório) |
| transforma | Lista de transformações. | Matriz de cadeia de caracteres contendo qualquer uma das: 'HtmlEntityDecode' 'Minúsculas' 'RemoveNulls' 'Guarnição' 'Maiúsculas' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Designação | Descrição | Valor |
|---|---|---|
| selector | O seletor da variável de correspondência. | cadeia (de caracteres) |
| nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
OwaspCrsExclusionEntry
Configurações de política
| Designação | Descrição | Valor |
|---|---|---|
| customBlockResponseBody | Se o tipo de ação for block, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. | cadeia de caracteres 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 block, o cliente poderá substituir o código de status da resposta. | Int Restrições: Valor mínimo = 0 |
| fileUploadEnforcement | Se permite que o WAF imponha limites de upload de arquivos. | Bool |
| arquivoUploadLimitInMb | Tamanho máximo de upload de arquivo em Mb para WAF. | Int Restrições: Valor mínimo = 0 |
| jsChallengeCookieExpirationInMins | Web Application Firewall JavaScript Challenge Cookie Tempo de expiração em minutos. | Int Restrições: Valor mínimo = 5 Valor máximo = 1440 |
| logEsfregando | 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 |
| modo | O modo da política. | 'Detecção' 'Prevenção' |
| pedidoBodyCheck | Se deve permitir que o WAF verifique o corpo da solicitação. | Bool |
| pedidoCorpoExecução | Se permite que o WAF imponha limites de corpo de solicitação. | Bool |
| requestBodyInspectLimitInKB | Limite máximo de inspeção em KB para inspeção de órgão de solicitação para WAF. | Int |
| Estado | O estado da política. | 'Desativado' 'Habilitado' |
PolicySettingsLogScrubbing
| Designação | Descrição | Valor |
|---|---|---|
| spurbbingRegras | As regras que são aplicadas aos logs para depuração. | WebApplicationFirewallScrubbingRules[] |
| Estado | Estado da configuração de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Tags de Recursos
| Designação | Descrição | Valor |
|---|
WebApplicationFirewallCustomRule
| Designação | Descrição | Valor |
|---|---|---|
| ação | Tipo de Ações. | 'Permitir' 'Bloqueio' 'JSChallenge' 'Log' (obrigatório) |
| groupByUserSession | Lista do grupo de identificadores de sessão do usuário por cláusulas. | GroupByUserSession[] |
| matchCondições | Lista de condições de jogo. | MatchCondition[] (obrigatório) |
| Designação | O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. | cadeia de caracteres Restrições: Comprimento máximo = 128 |
| prioridade | Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais elevado. | int (obrigatório) |
| rateLimitDuration | Duração durante a qual a política de Limite de Taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. | 'Cinco minutos' 'OneMin' |
| rateLimitThreshold | Limite de taxa a ser aplicado caso ruleType seja RateLimitRule. Deve ser maior ou igual a 1 | Int |
| ruleType | O tipo de regra. | 'Inválido' 'Regra de correspondência' 'RateLimitRule' (obrigatório) |
| Estado | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Ativado se não for especificado. | 'Desativado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
| Designação | Descrição | Valor |
|---|---|---|
| customRules | As regras personalizadas dentro da política. | WebApplicationFirewallCustomRule[] |
| managedRegras | Descreve a estrutura managedRules. | ManagedRulesDefinition (obrigatório) |
| configurações de política | As PolicySettings para a política. | Configurações de política |
WebApplicationFirewallScrubbingRules
| Designação | Descrição | Valor |
|---|---|---|
| matchVariable | A variável a ser esfregada dos logs. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obrigatório) |
| selector | Quando matchVariable é uma coleção, o operador é usado para especificar a quais elementos na coleção essa regra se aplica. | cadeia (de caracteres) |
| selectorMatchOperator | Quando matchVariable é uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. | 'Iguais' 'EqualsAny' (obrigatório) |
| Estado | Define o estado da regra de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Exemplos de uso
Módulos verificados do Azure
Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.
| Módulo | Descrição |
|---|---|
| de política do Application Gateway Web Application Firewall (WAF) | Política do AVM Resource Module for Application Gateway Web Application Firewall (WAF) |
Exemplos de início rápido do Azure
Os seguintes modelos início rápido do Azure contêm exemplos de Bicep para implantar esse tipo de recurso.
| Arquivo Bicep | Descrição |
|---|---|
| Cluster AKS com um gateway NAT e um gateway de aplicativo | Este exemplo mostra como implantar um cluster AKS com o NAT Gateway para conexões de saída e um Application Gateway para conexões de entrada. |
| cluster AKS com o Application Gateway Ingress Controller | Este exemplo mostra como implantar um cluster AKS com o Application Gateway, o Application Gateway Ingress Controller, o Azure Container Registry, o Log Analytics e o Key Vault |
| Application Gateway para roteamento baseado em caminho de url | Este modelo cria um Gateway de Aplicativo e o configura para Roteamento Baseado em Caminho de URL. |
| Application Gateway com WAF e de política de firewall | Este modelo cria um Gateway de Aplicativo com WAF configurado junto com uma política de firewall |
| Criar um WAF do Azure v2 no Azure Application Gateway | Este modelo cria um Firewall de Aplicativo Web do Azure v2 no Gateway de Aplicativo do Azure com dois servidores Windows Server 2016 no pool de back-end |
| Porta da frente Standard/Premium com origem no Application Gateway | Este modelo cria uma instância do Front Door Standard/Premium e do Application Gateway e usa uma política NSG e WAF para validar que o tráfego passou pela origem do Front Door. |
| porta de entrada com instâncias de contêiner e do Application Gateway | Este modelo cria um Front Door Standard/Premium com um grupo de contêineres e Application Gateway. |
Definição de recurso de modelo ARM
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 do recurso
Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o seguinte JSON ao seu modelo.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2025-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"
}
}
Valores de propriedade
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Designação | Descrição | Valor |
|---|---|---|
| Versão da API | A versão api | '2025-03-01' |
| localização | Localização do recurso. | cadeia (de caracteres) |
| Designação | O nome do recurso | cadeia de caracteres Restrições: Comprimento máximo = 128 (obrigatório) |
| propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyPropertiesFormat |
| Etiquetas | Tags de recursos | Dicionário de nomes e valores de tags. Consulte Tags em modelos |
| tipo | O tipo de recurso | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
ExceptionEntry
ExclusionManagedRule
| Designação | Descrição | Valor |
|---|---|---|
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas para exclusão. | string (obrigatório) |
| regras | Lista de regras que serão excluídas. Se nenhuma for especificada, todas as regras do grupo serão excluídas. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
GroupByUserSession
| Designação | Descrição | Valor |
|---|---|---|
| groupByVariables | Lista de variáveis de grupo por cláusula. | GroupByVariable[] (obrigatório) |
GroupByVariable
| Designação | Descrição | Valor |
|---|---|---|
| nomevariável | Variável de cláusula User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Geolocalização' 'GeoLocationXFFHeader' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas a ser substituído. | string (obrigatório) |
| regras | Lista de regras que serão desativadas. Se nenhum for especificado, todas as regras do grupo serão desativadas. | ManagedRuleOverride[] |
ManagedRuleOverride
| Designação | Descrição | Valor |
|---|---|---|
| ação | Descreve a ação de substituição a ser aplicada quando a regra corresponder. | 'Permitir' 'Anomalia' 'Bloqueio' 'JSChallenge' 'Log' |
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
| sensibilidade | Descreve a sensibilidade de substituição a ser aplicada quando a regra corresponder. | 'Alta' 'Baixa' 'Médio' |
| Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
| Designação | Descrição | Valor |
|---|---|---|
| exceções | As exceções que são aplicadas na política. | ExceptionEntry[] |
| Exclusões | As Exclusões aplicadas na política. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Os conjuntos de regras gerenciadas associados à política. | ManagedRuleSet[] (obrigatório) |
ManagedRuleSet
| Designação | Descrição | Valor |
|---|---|---|
| ruleGroupSubstitui | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride[] |
| tipoDeConjuntoDeRegras | Define o tipo de conjunto de regras a ser usado. | string (obrigatório) |
| ruleSetVersion | Define a versão do conjunto de regras a ser usado. | string (obrigatório) |
Condição de correspondência
| Designação | Descrição | Valor |
|---|---|---|
| matchValues | Valor correspondente. | string[] (obrigatório) |
| matchVariables | Lista de variáveis de correspondência. | MatchVariable[] (obrigatório) |
| negaçãoConditon | Se esta é condição negada ou não. | Bool |
| operador | O operador a ser correspondido. | 'Qualquer' 'Começa com' «Contém» 'Acaba com' 'Igual' 'GeoMatch' 'MaiorQue' 'MaiorThanOrEqual' 'IPMatch' 'Menosque' 'LessThanOrEqual' «Regex» (obrigatório) |
| transforma | Lista de transformações. | Matriz de cadeia de caracteres contendo qualquer uma das: 'HtmlEntityDecode' 'Minúsculas' 'RemoveNulls' 'Guarnição' 'Maiúsculas' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Designação | Descrição | Valor |
|---|---|---|
| selector | O seletor da variável de correspondência. | cadeia (de caracteres) |
| nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
OwaspCrsExclusionEntry
Configurações de política
| Designação | Descrição | Valor |
|---|---|---|
| customBlockResponseBody | Se o tipo de ação for block, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. | cadeia de caracteres 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 block, o cliente poderá substituir o código de status da resposta. | Int Restrições: Valor mínimo = 0 |
| fileUploadEnforcement | Se permite que o WAF imponha limites de upload de arquivos. | Bool |
| arquivoUploadLimitInMb | Tamanho máximo de upload de arquivo em Mb para WAF. | Int Restrições: Valor mínimo = 0 |
| jsChallengeCookieExpirationInMins | Web Application Firewall JavaScript Challenge Cookie Tempo de expiração em minutos. | Int Restrições: Valor mínimo = 5 Valor máximo = 1440 |
| logEsfregando | 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 |
| modo | O modo da política. | 'Detecção' 'Prevenção' |
| pedidoBodyCheck | Se deve permitir que o WAF verifique o corpo da solicitação. | Bool |
| pedidoCorpoExecução | Se permite que o WAF imponha limites de corpo de solicitação. | Bool |
| requestBodyInspectLimitInKB | Limite máximo de inspeção em KB para inspeção de órgão de solicitação para WAF. | Int |
| Estado | O estado da política. | 'Desativado' 'Habilitado' |
PolicySettingsLogScrubbing
| Designação | Descrição | Valor |
|---|---|---|
| spurbbingRegras | As regras que são aplicadas aos logs para depuração. | WebApplicationFirewallScrubbingRules[] |
| Estado | Estado da configuração de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Tags de Recursos
| Designação | Descrição | Valor |
|---|
WebApplicationFirewallCustomRule
| Designação | Descrição | Valor |
|---|---|---|
| ação | Tipo de Ações. | 'Permitir' 'Bloqueio' 'JSChallenge' 'Log' (obrigatório) |
| groupByUserSession | Lista do grupo de identificadores de sessão do usuário por cláusulas. | GroupByUserSession[] |
| matchCondições | Lista de condições de jogo. | MatchCondition[] (obrigatório) |
| Designação | O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. | cadeia de caracteres Restrições: Comprimento máximo = 128 |
| prioridade | Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais elevado. | int (obrigatório) |
| rateLimitDuration | Duração durante a qual a política de Limite de Taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. | 'Cinco minutos' 'OneMin' |
| rateLimitThreshold | Limite de taxa a ser aplicado caso ruleType seja RateLimitRule. Deve ser maior ou igual a 1 | Int |
| ruleType | O tipo de regra. | 'Inválido' 'Regra de correspondência' 'RateLimitRule' (obrigatório) |
| Estado | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Ativado se não for especificado. | 'Desativado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
| Designação | Descrição | Valor |
|---|---|---|
| customRules | As regras personalizadas dentro da política. | WebApplicationFirewallCustomRule[] |
| managedRegras | Descreve a estrutura managedRules. | ManagedRulesDefinition (obrigatório) |
| configurações de política | As PolicySettings para a política. | Configurações de política |
WebApplicationFirewallScrubbingRules
| Designação | Descrição | Valor |
|---|---|---|
| matchVariable | A variável a ser esfregada dos logs. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obrigatório) |
| selector | Quando matchVariable é uma coleção, o operador é usado para especificar a quais elementos na coleção essa regra se aplica. | cadeia (de caracteres) |
| selectorMatchOperator | Quando matchVariable é uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. | 'Iguais' 'EqualsAny' (obrigatório) |
| Estado | Define o estado da regra de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Exemplos de uso
Modelos de início rápido do Azure
Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.
| Modelo | Descrição |
|---|---|
|
Cluster AKS com um gateway NAT e um gateway de aplicativo |
Este exemplo mostra como implantar um cluster AKS com o NAT Gateway para conexões de saída e um Application Gateway para conexões de entrada. |
|
cluster AKS com o Application Gateway Ingress Controller |
Este exemplo mostra como implantar um cluster AKS com o Application Gateway, o Application Gateway Ingress Controller, o Azure Container Registry, o Log Analytics e o Key Vault |
|
Application Gateway para roteamento baseado em caminho de url |
Este modelo cria um Gateway de Aplicativo e o configura para Roteamento Baseado em Caminho de URL. |
|
Application Gateway com WAF e de política de firewall |
Este modelo cria um Gateway de Aplicativo com WAF configurado junto com uma política de firewall |
|
Criar um WAF do Azure v2 no Azure Application Gateway |
Este modelo cria um Firewall de Aplicativo Web do Azure v2 no Gateway de Aplicativo do Azure com dois servidores Windows Server 2016 no pool de back-end |
|
Porta da frente Standard/Premium com origem no Application Gateway |
Este modelo cria uma instância do Front Door Standard/Premium e do Application Gateway e usa uma política NSG e WAF para validar que o tráfego passou pela origem do Front Door. |
|
porta de entrada com instâncias de contêiner e do Application Gateway |
Este modelo cria um Front Door Standard/Premium com um grupo de contêineres e Application Gateway. |
Definição de recursos Terraform (provedor AzAPI)
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 do recurso
Para criar um recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, adicione o seguinte Terraform ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
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"
}
}
}
}
Valores de propriedade
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
| Designação | Descrição | Valor |
|---|---|---|
| localização | Localização do recurso. | cadeia (de caracteres) |
| Designação | O nome do recurso | cadeia de caracteres Restrições: Comprimento máximo = 128 (obrigatório) |
| parent_id | A ID do recurso ao qual aplicar esse recurso de extensão. | string (obrigatório) |
| propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyPropertiesFormat |
| Etiquetas | Tags de recursos | Dicionário de nomes e valores de tags. |
| tipo | O tipo de recurso | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2025-03-01" |
ExceptionEntry
ExclusionManagedRule
| Designação | Descrição | Valor |
|---|---|---|
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas para exclusão. | string (obrigatório) |
| regras | Lista de regras que serão excluídas. Se nenhuma for especificada, todas as regras do grupo serão excluídas. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
GroupByUserSession
| Designação | Descrição | Valor |
|---|---|---|
| groupByVariables | Lista de variáveis de grupo por cláusula. | GroupByVariable[] (obrigatório) |
GroupByVariable
| Designação | Descrição | Valor |
|---|---|---|
| nomevariável | Variável de cláusula User Session. | 'ClientAddr' 'ClientAddrXFFHeader' 'Geolocalização' 'GeoLocationXFFHeader' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
| Designação | Descrição | Valor |
|---|---|---|
| nomeDoGrupoDeRegras | O grupo de regras gerenciadas a ser substituído. | string (obrigatório) |
| regras | Lista de regras que serão desativadas. Se nenhum for especificado, todas as regras do grupo serão desativadas. | ManagedRuleOverride[] |
ManagedRuleOverride
| Designação | Descrição | Valor |
|---|---|---|
| ação | Descreve a ação de substituição a ser aplicada quando a regra corresponder. | 'Permitir' 'Anomalia' 'Bloqueio' 'JSChallenge' 'Log' |
| ruleId | Identificador da regra gerenciada. | string (obrigatório) |
| sensibilidade | Descreve a sensibilidade de substituição a ser aplicada quando a regra corresponder. | 'Alta' 'Baixa' 'Médio' |
| Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
| Designação | Descrição | Valor |
|---|---|---|
| exceções | As exceções que são aplicadas na política. | ExceptionEntry[] |
| Exclusões | As Exclusões aplicadas na política. | OwaspCrsExclusionEntry[] |
| managedRuleSets | Os conjuntos de regras gerenciadas associados à política. | ManagedRuleSet[] (obrigatório) |
ManagedRuleSet
| Designação | Descrição | Valor |
|---|---|---|
| ruleGroupSubstitui | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride[] |
| tipoDeConjuntoDeRegras | Define o tipo de conjunto de regras a ser usado. | string (obrigatório) |
| ruleSetVersion | Define a versão do conjunto de regras a ser usado. | string (obrigatório) |
Condição de correspondência
| Designação | Descrição | Valor |
|---|---|---|
| matchValues | Valor correspondente. | string[] (obrigatório) |
| matchVariables | Lista de variáveis de correspondência. | MatchVariable[] (obrigatório) |
| negaçãoConditon | Se esta é condição negada ou não. | Bool |
| operador | O operador a ser correspondido. | 'Qualquer' 'Começa com' «Contém» 'Acaba com' 'Igual' 'GeoMatch' 'MaiorQue' 'MaiorThanOrEqual' 'IPMatch' 'Menosque' 'LessThanOrEqual' «Regex» (obrigatório) |
| transforma | Lista de transformações. | Matriz de cadeia de caracteres contendo qualquer uma das: 'HtmlEntityDecode' 'Minúsculas' 'RemoveNulls' 'Guarnição' 'Maiúsculas' 'UrlDecode' 'UrlEncode' |
MatchVariable
| Designação | Descrição | Valor |
|---|---|---|
| selector | O seletor da variável de correspondência. | cadeia (de caracteres) |
| nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
OwaspCrsExclusionEntry
Configurações de política
| Designação | Descrição | Valor |
|---|---|---|
| customBlockResponseBody | Se o tipo de ação for block, o cliente poderá substituir o corpo da resposta. O corpo deve ser especificado na codificação base64. | cadeia de caracteres 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 block, o cliente poderá substituir o código de status da resposta. | Int Restrições: Valor mínimo = 0 |
| fileUploadEnforcement | Se permite que o WAF imponha limites de upload de arquivos. | Bool |
| arquivoUploadLimitInMb | Tamanho máximo de upload de arquivo em Mb para WAF. | Int Restrições: Valor mínimo = 0 |
| jsChallengeCookieExpirationInMins | Web Application Firewall JavaScript Challenge Cookie Tempo de expiração em minutos. | Int Restrições: Valor mínimo = 5 Valor máximo = 1440 |
| logEsfregando | 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 |
| modo | O modo da política. | 'Detecção' 'Prevenção' |
| pedidoBodyCheck | Se deve permitir que o WAF verifique o corpo da solicitação. | Bool |
| pedidoCorpoExecução | Se permite que o WAF imponha limites de corpo de solicitação. | Bool |
| requestBodyInspectLimitInKB | Limite máximo de inspeção em KB para inspeção de órgão de solicitação para WAF. | Int |
| Estado | O estado da política. | 'Desativado' 'Habilitado' |
PolicySettingsLogScrubbing
| Designação | Descrição | Valor |
|---|---|---|
| spurbbingRegras | As regras que são aplicadas aos logs para depuração. | WebApplicationFirewallScrubbingRules[] |
| Estado | Estado da configuração de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Tags de Recursos
| Designação | Descrição | Valor |
|---|
WebApplicationFirewallCustomRule
| Designação | Descrição | Valor |
|---|---|---|
| ação | Tipo de Ações. | 'Permitir' 'Bloqueio' 'JSChallenge' 'Log' (obrigatório) |
| groupByUserSession | Lista do grupo de identificadores de sessão do usuário por cláusulas. | GroupByUserSession[] |
| matchCondições | Lista de condições de jogo. | MatchCondition[] (obrigatório) |
| Designação | O nome do recurso que é exclusivo dentro de uma política. Esse nome pode ser usado para acessar o recurso. | cadeia de caracteres Restrições: Comprimento máximo = 128 |
| prioridade | Prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais elevado. | int (obrigatório) |
| rateLimitDuration | Duração durante a qual a política de Limite de Taxa será aplicada. Aplica-se somente quando ruleType é RateLimitRule. | 'Cinco minutos' 'OneMin' |
| rateLimitThreshold | Limite de taxa a ser aplicado caso ruleType seja RateLimitRule. Deve ser maior ou igual a 1 | Int |
| ruleType | O tipo de regra. | 'Inválido' 'Regra de correspondência' 'RateLimitRule' (obrigatório) |
| Estado | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Ativado se não for especificado. | 'Desativado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
| Designação | Descrição | Valor |
|---|---|---|
| customRules | As regras personalizadas dentro da política. | WebApplicationFirewallCustomRule[] |
| managedRegras | Descreve a estrutura managedRules. | ManagedRulesDefinition (obrigatório) |
| configurações de política | As PolicySettings para a política. | Configurações de política |
WebApplicationFirewallScrubbingRules
| Designação | Descrição | Valor |
|---|---|---|
| matchVariable | A variável a ser esfregada dos logs. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (obrigatório) |
| selector | Quando matchVariable é uma coleção, o operador é usado para especificar a quais elementos na coleção essa regra se aplica. | cadeia (de caracteres) |
| selectorMatchOperator | Quando matchVariable é uma coleção, opere no seletor para especificar a quais elementos na coleção essa regra se aplica. | 'Iguais' 'EqualsAny' (obrigatório) |
| Estado | Define o estado da regra de depuração de log. O valor padrão é Enabled. | 'Desativado' 'Habilitado' |
Exemplos de uso
Amostras Terraform
Um exemplo básico de implantação da instância da Política de Firewall do Aplicativo Web do Azure.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "ApplicationGatewayWebApplicationFirewallPolicy" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
customRules = [
]
managedRules = {
exclusions = [
]
managedRuleSets = [
{
ruleGroupOverrides = [
]
ruleSetType = "OWASP"
ruleSetVersion = "3.1"
},
]
}
policySettings = {
fileUploadLimitInMb = 100
maxRequestBodySizeInKb = 128
mode = "Detection"
requestBodyCheck = true
state = "Enabled"
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Módulos verificados do Azure
Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.