Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2022-11-01
- Últimas
- 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:
- Grupos de recursos - Consulte comandos de implantação de grupo de recursos
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@2022-11-01' = {
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: {
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'
}
}
tags: {
{customized property}: 'string'
}
}
Valores de propriedade
ExclusionManagedRule
Designação | Descrição | Valor |
---|---|---|
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Geolocalização' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Log' |
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
Designação | 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) |
ManagedRuleSet
Designação | Descrição | Valor |
---|---|---|
ruleGroupSubstitui | 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. | 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 |
---|---|---|
seletor | O seletor da variável de correspondência. | string |
nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Designação | Descrição | Valor |
---|---|---|
Localização | Localização do recurso. | string |
Designação | O nome do recurso | string Restrições: Comprimento máximo = (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 |
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. | string Restrições: Comprimento máximo = 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 |
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' '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. | string Restrições: Comprimento máximo = |
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) |
policySettings | As PolicySettings para a política. | PolicySettings |
WebApplicationFirewallScrubbingRules
Designação | Descrição | Valor |
---|---|---|
matchVariable | A variável a ser esfregada 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 é 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 início rápido
Os exemplos de início rápido a seguir implantam 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 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:
- Grupos de recursos - Consulte comandos de implantação de grupo de recursos
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": "2022-11-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": {
"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"
}
},
"tags": {
"{customized property}": "string"
}
}
Valores de propriedade
ExclusionManagedRule
Designação | Descrição | Valor |
---|---|---|
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Geolocalização' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Log' |
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
Designação | 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) |
ManagedRuleSet
Designação | Descrição | Valor |
---|---|---|
ruleGroupSubstitui | 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. | 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 |
---|---|---|
seletor | O seletor da variável de correspondência. | string |
nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Designação | Descrição | Valor |
---|---|---|
apiVersion | A versão api | '2022-11-01' |
Localização | Localização do recurso. | string |
Designação | O nome do recurso | string Restrições: Comprimento máximo = (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' |
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. | string Restrições: Comprimento máximo = 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 |
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' '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. | string Restrições: Comprimento máximo = |
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) |
policySettings | As PolicySettings para a política. | PolicySettings |
WebApplicationFirewallScrubbingRules
Designação | Descrição | Valor |
---|---|---|
matchVariable | A variável a ser esfregada 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 é 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' |
Modelos de início rápido
Os modelos de início rápido a seguir implantam 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 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:
- Grupos de recursos
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@2022-11-01"
name = "string"
location = "string"
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"
}
}
})
tags = {
{customized property} = "string"
}
}
Valores de propriedade
ExclusionManagedRule
Designação | Descrição | Valor |
---|---|---|
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
ExclusionManagedRuleGroup
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Geolocalização' «Nenhum» (obrigatório) |
ManagedRuleGroupOverride
Designação | Descrição | Valor |
---|---|---|
ruleGroupName | 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' 'Log' |
ruleId | Identificador da regra gerenciada. | string (obrigatório) |
Estado | O estado da regra administrada. O padrão é Desativado se não for especificado. | 'Desativado' 'Habilitado' |
ManagedRulesDefinition
Designação | 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) |
ManagedRuleSet
Designação | Descrição | Valor |
---|---|---|
ruleGroupSubstitui | 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. | 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 |
---|---|---|
seletor | O seletor da variável de correspondência. | string |
nomevariável | Variável de correspondência. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obrigatório) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Designação | Descrição | Valor |
---|---|---|
Localização | Localização do recurso. | string |
Designação | O nome do recurso | string Restrições: Comprimento máximo = (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@2022-11-01" |
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. | string Restrições: Comprimento máximo = 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 |
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' '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. | string Restrições: Comprimento máximo = |
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) |
policySettings | As PolicySettings para a política. | PolicySettings |
WebApplicationFirewallScrubbingRules
Designação | Descrição | Valor |
---|---|---|
matchVariable | A variável a ser esfregada 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 é 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' |