Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-04-01
Definição de recurso do Bicep
O tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:
- Grupos de recursos – Consulte comandos de implantação do grupo 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 Bicep a seguir ao modelo.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-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 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. | 'Allow' 'AnomalyScoring' 'Bloquear' 'Log' |
ruleId | Identificador para a 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 |
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 |
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 |
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 |
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 |
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 |
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:
- Grupos de recursos – Consulte comandos de implantação do grupo de recursos
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": "2023-04-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 de recursos | '2023-04-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. 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 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. | 'Allow' 'AnomalyScoring' 'Bloquear' 'Log' |
ruleId | Identificador para a 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 carregamento de arquivo em Mb para WAF. | INT Restrições: Valor mínimo = 0 |
logScrubbing | Para esfregar 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 do 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 |
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 |
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 |
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 |
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 |
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 |
Este modelo cria um Gateway de Aplicativo com WAF configurado junto com uma política de firewall |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:
- Grupos de recursos
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 Terraform a seguir ao modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-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@2023-04-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 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" "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 de cláusula De sessão do usuário. | "ClientAddr" "GeoLocation" "Nenhum" (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. | "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ú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" "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 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. | "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" |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de