Microsoft.Network FrontDoorWebApplicationFirewallPolicies 2022-05-01
Definição de recurso do Bicep
O tipo de recurso FrontDoorWebApplicationFirewallPolicies 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 de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, adicione o seguinte Bicep ao seu modelo.
resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-01' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
customRules: {
rules: [
{
action: 'string'
enabledState: 'string'
matchConditions: [
{
matchValue: [
'string'
]
matchVariable: 'string'
negateCondition: bool
operator: 'string'
selector: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDurationInMinutes: int
rateLimitThreshold: int
ruleType: 'string'
}
]
}
managedRules: {
managedRuleSets: [
{
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleGroupOverrides: [
{
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleGroupName: 'string'
rules: [
{
action: 'string'
enabledState: 'string'
exclusions: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
ruleId: 'string'
}
]
}
]
ruleSetAction: 'string'
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
enabledState: 'string'
mode: 'string'
redirectUrl: 'string'
requestBodyCheck: 'string'
}
}
sku: {
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
Valores de propriedade
CustomRule
Nome | Descrição | Valor |
---|---|---|
ação | Descreve qual ação a ser aplicada quando a regra corresponde. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'Log' 'Redirecionamento' (obrigatório) |
enabledState | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
matchConditions | Lista de condições de correspondência. | MatchCondition[] (obrigatório) |
nome | Descreve o nome da regra. | corda Restrições: Comprimento máximo = |
prioridade | Descreve a prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais alto. | int (obrigatório) |
rateLimitDurationInMinutes | Janela de tempo para redefinir a contagem de limite de taxa. O padrão é 1 minuto. | int Restrições: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitações permitidas por cliente dentro da janela de tempo. | int Restrições: Valor mínimo = 0 |
ruleType | Descreve o tipo de regra. | 'MatchRule' 'RateLimitRule' (obrigatório) |
CustomRuleList
Nome | Descrição | Valor |
---|---|---|
réguas | Lista de regras | CustomRule [] |
ManagedRuleExclusion
Nome | Descrição | Valor |
---|---|---|
matchVariable | O tipo de variável a ser excluído. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obrigatório) |
seletor | Valor do seletor para os quais elementos na coleção essa exclusão se aplica. | cadeia de caracteres (obrigatório) |
selectorMatchOperator | Operador de comparação a ser aplicado ao seletor ao especificar a quais elementos na coleção essa exclusão se aplica. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obrigatório) |
ManagedRuleGroupOverride
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões aplicadas a todas as regras do grupo. | ManagedRuleExclusion[] |
ruleGroupName | Descreve o grupo de regras gerenciadas a ser substituído. | cadeia de caracteres (obrigatório) |
réguas | Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras do 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' 'Redirecionamento' |
enabledState | Descreve se a regra gerenciada está no estado habilitado ou desabilitado. O padrão será Desabilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
Exclusões | Descreve as exclusões aplicadas a essa regra específica. | ManagedRuleExclusion[] |
ruleId | Identificador para a regra gerenciada. | cadeia de caracteres (obrigatório) |
ManagedRuleSet
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões que são aplicadas a todas as regras no conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride |
ruleSetAction | Define a ação de conjunto de regras. | 'Bloquear' 'Log' 'Redirecionamento' |
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) |
ManagedRuleSetList
Nome | Descrição | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de regras. | ManagedRuleSet [] |
MatchCondition
Nome | Descrição | Valor |
---|---|---|
matchValue | Lista de possíveis valores de correspondência. | string[] (obrigatório) |
matchVariable | Solicitar variável com a qual comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obrigatório) |
negateCondition | Descreve se o resultado dessa condição deve ser negado. | Bool |
operador | Tipo de comparação a ser usado para correspondência com o valor da variável. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obrigatório) |
seletor | Corresponda a uma chave específica das variáveis QueryString, PostArgs, RequestHeader ou Cookies. O padrão é nulo. | corda |
Transforma | Lista de transformações. | Matriz de cadeia de caracteres que contém qualquer um dos: 'Minúscula' 'RemoveNulls' 'Trim' 'Maiúscula' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
Nome | Descrição | Valor |
---|---|---|
etag | Obtém uma cadeia de caracteres somente leitura exclusiva que é alterada sempre que o recurso é atualizado. | corda |
localização | Local do recurso. | corda |
nome | O nome do recurso | corda Restrições: Comprimento máximo = (obrigatório) |
Propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyProperties |
Sku | O tipo de preço da política de firewall do aplicativo Web. O padrão é Classic_AzureFrontDoor se não for especificado. | de SKU |
Tags | Marcações de recursos | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
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. | corda Restrições: 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 o código de status de resposta. | int |
enabledState | Descreve se a política está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
modo | Descreve se ele está no modo de detecção ou no modo de prevenção no nível da política. | 'Detecção' 'Prevenção' |
redirectUrl | Se o tipo de ação for redirecionado, esse campo representará a URL de redirecionamento para o cliente. | corda |
requestBodyCheck | Descreve se as regras gerenciadas por política inspecionarão o conteúdo do corpo da solicitação. | 'Desabilitado' 'Habilitado' |
ResourceTags
Nome | Descrição | Valor |
---|
Sku
Nome | Descrição | Valor |
---|---|---|
nome | Nome do tipo de preço. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
Nome | Descrição | Valor |
---|---|---|
customRules | Descreve regras personalizadas dentro da política. | CustomRuleList |
managedRules | Descreve as regras gerenciadas dentro da política. | ManagedRuleSetList |
policySettings | Descreve as configurações da política. | PolicySettings |
Exemplos de início rápido
Os exemplos de início rápido a seguir implantam esse tipo de recurso.
Arquivo Bicep | Descrição |
---|---|
configurar o defaultRuleSet gerenciado pelo WAF para o Azure Front Door | Este modelo configura o defaultRuleSet gerenciado pelo WAF para o Azure Front Door |
Front Door Premium com origem de blob e link privado | Esse modelo cria um contêiner de blob do Armazenamento do Azure e Um Front Door Premium e usa um ponto de extremidade privado para o Front Door para enviar tráfego para a conta de armazenamento. |
Front Door Premium com WAF e conjuntos de regras gerenciados pela Microsoft | Esse modelo cria um Front Door Premium, incluindo um firewall de aplicativo Web com os conjuntos de regras de proteção de bot e padrão gerenciados pela Microsoft. |
Front Door Standard/Premium com de filtragem geográfica | Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra de filtragem geográfica. |
Front Door Standard/Premium com limite de taxa | Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra de limite de taxa. |
Front Door Standard/Premium com WAF e de regra personalizada | Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra personalizada. |
Front Door com origens de blob para upload de blobs | Esse modelo cria um Front Door com origens, rotas e ruleSets e contas de Armazenamento do Azure com contêineres de blob. O Front Door envia tráfego para as contas de armazenamento ao carregar arquivos. |
CDN do FrontDoor com WAF, Domínios e Logs no EventHub | Esse modelo cria um novo perfil cdn do Azure FrontDoor. Crie WAF com regras personalizadas e gerenciadas, rotas cdn, origem e grupos com sua associação com WAF e rotas, configura domínios personalizados, criar hub de eventos e configurações de diagnóstico para enviar logs de acesso à CDN usando o hub de eventos. |
Aplicativo de Funções protegido pelo Frontdoor do Azure | Esse modelo permite implantar uma função premium do Azure protegida e publicada pelo Azure Frontdoor Premium. A conação entre o Azure Frontdoor e o Azure Functions é protegida pelo Link Privado do Azure. |
Definição de recurso de modelo do ARM
O tipo de recurso FrontDoorWebApplicationFirewallPolicies 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 de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, adicione o JSON a seguir ao modelo.
{
"type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
"apiVersion": "2022-05-01",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"customRules": {
"rules": [
{
"action": "string",
"enabledState": "string",
"matchConditions": [
{
"matchValue": [ "string" ],
"matchVariable": "string",
"negateCondition": "bool",
"operator": "string",
"selector": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDurationInMinutes": "int",
"rateLimitThreshold": "int",
"ruleType": "string"
}
]
},
"managedRules": {
"managedRuleSets": [
{
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleGroupOverrides": [
{
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"enabledState": "string",
"exclusions": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"ruleId": "string"
}
]
}
],
"ruleSetAction": "string",
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"enabledState": "string",
"mode": "string",
"redirectUrl": "string",
"requestBodyCheck": "string"
}
},
"sku": {
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
Valores de propriedade
CustomRule
Nome | Descrição | Valor |
---|---|---|
ação | Descreve qual ação a ser aplicada quando a regra corresponde. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'Log' 'Redirecionamento' (obrigatório) |
enabledState | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
matchConditions | Lista de condições de correspondência. | MatchCondition[] (obrigatório) |
nome | Descreve o nome da regra. | corda Restrições: Comprimento máximo = |
prioridade | Descreve a prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais alto. | int (obrigatório) |
rateLimitDurationInMinutes | Janela de tempo para redefinir a contagem de limite de taxa. O padrão é 1 minuto. | int Restrições: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitações permitidas por cliente dentro da janela de tempo. | int Restrições: Valor mínimo = 0 |
ruleType | Descreve o tipo de regra. | 'MatchRule' 'RateLimitRule' (obrigatório) |
CustomRuleList
Nome | Descrição | Valor |
---|---|---|
réguas | Lista de regras | CustomRule [] |
ManagedRuleExclusion
Nome | Descrição | Valor |
---|---|---|
matchVariable | O tipo de variável a ser excluído. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obrigatório) |
seletor | Valor do seletor para os quais elementos na coleção essa exclusão se aplica. | cadeia de caracteres (obrigatório) |
selectorMatchOperator | Operador de comparação a ser aplicado ao seletor ao especificar a quais elementos na coleção essa exclusão se aplica. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obrigatório) |
ManagedRuleGroupOverride
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões aplicadas a todas as regras do grupo. | ManagedRuleExclusion[] |
ruleGroupName | Descreve o grupo de regras gerenciadas a ser substituído. | cadeia de caracteres (obrigatório) |
réguas | Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras do 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' 'Redirecionamento' |
enabledState | Descreve se a regra gerenciada está no estado habilitado ou desabilitado. O padrão será Desabilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
Exclusões | Descreve as exclusões aplicadas a essa regra específica. | ManagedRuleExclusion[] |
ruleId | Identificador para a regra gerenciada. | cadeia de caracteres (obrigatório) |
ManagedRuleSet
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões que são aplicadas a todas as regras no conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride |
ruleSetAction | Define a ação de conjunto de regras. | 'Bloquear' 'Log' 'Redirecionamento' |
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) |
ManagedRuleSetList
Nome | Descrição | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de regras. | ManagedRuleSet [] |
MatchCondition
Nome | Descrição | Valor |
---|---|---|
matchValue | Lista de possíveis valores de correspondência. | string[] (obrigatório) |
matchVariable | Solicitar variável com a qual comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obrigatório) |
negateCondition | Descreve se o resultado dessa condição deve ser negado. | Bool |
operador | Tipo de comparação a ser usado para correspondência com o valor da variável. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obrigatório) |
seletor | Corresponda a uma chave específica das variáveis QueryString, PostArgs, RequestHeader ou Cookies. O padrão é nulo. | corda |
Transforma | Lista de transformações. | Matriz de cadeia de caracteres que contém qualquer um dos: 'Minúscula' 'RemoveNulls' 'Trim' 'Maiúscula' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
Nome | Descrição | Valor |
---|---|---|
apiVersion | A versão da API | '2022-05-01' |
etag | Obtém uma cadeia de caracteres somente leitura exclusiva que é alterada sempre que o recurso é atualizado. | corda |
localização | Local do recurso. | corda |
nome | O nome do recurso | corda Restrições: Comprimento máximo = (obrigatório) |
Propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyProperties |
Sku | O tipo de preço da política de firewall do aplicativo Web. O padrão é Classic_AzureFrontDoor se não for especificado. | de SKU |
Tags | Marcações de recursos | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
tipo | O tipo de recurso | 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies' |
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. | corda Restrições: 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 o código de status de resposta. | int |
enabledState | Descreve se a política está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
modo | Descreve se ele está no modo de detecção ou no modo de prevenção no nível da política. | 'Detecção' 'Prevenção' |
redirectUrl | Se o tipo de ação for redirecionado, esse campo representará a URL de redirecionamento para o cliente. | corda |
requestBodyCheck | Descreve se as regras gerenciadas por política inspecionarão o conteúdo do corpo da solicitação. | 'Desabilitado' 'Habilitado' |
ResourceTags
Nome | Descrição | Valor |
---|
Sku
Nome | Descrição | Valor |
---|---|---|
nome | Nome do tipo de preço. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
Nome | Descrição | Valor |
---|---|---|
customRules | Descreve regras personalizadas dentro da política. | CustomRuleList |
managedRules | Descreve as regras gerenciadas dentro da política. | ManagedRuleSetList |
policySettings | Descreve as configurações da política. | PolicySettings |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | Descrição |
---|---|
configurar a restrição de IP do cliente WAF para o Azure Front Door |
Este modelo configura a restrição de IP do cliente WAF para o ponto de extremidade do Azure Front Door |
configurar o defaultRuleSet gerenciado pelo WAF para o Azure Front Door |
Este modelo configura o defaultRuleSet gerenciado pelo WAF para o Azure Front Door |
Configurar a regra de liming de taxa de WAF para o ponto de extremidade do Azure Front Door |
Este modelo configura uma regra waf para o Azure Front Door para limitar o tráfego de entrada para um determinado host de front-end. |
Configurar regras waf com parâmetros http para o Front Door |
Este modelo configura regras personalizadas do WAF com base em parâmetros http específicos para o ponto de extremidade do Azure Front Door. |
criar o Azure Front Door em frente ao Gerenciamento de API do Azure |
Este exemplo demonstra como usar o Azure Front Door como um balanceador de carga global na frente do Gerenciamento de API do Azure. |
Criar regra de Filtragem Geográfica do WAF para o ponto de extremidade do Azure Front Door |
Esse modelo cria uma regra de filtragem geográfica do WAF para o Azure Front Door que permite/bloqueia o tráfego de determinados países. |
Front Door Premium com origem de blob e link privado |
Esse modelo cria um contêiner de blob do Armazenamento do Azure e Um Front Door Premium e usa um ponto de extremidade privado para o Front Door para enviar tráfego para a conta de armazenamento. |
Front Door Premium com WAF e conjuntos de regras gerenciados pela Microsoft |
Esse modelo cria um Front Door Premium, incluindo um firewall de aplicativo Web com os conjuntos de regras de proteção de bot e padrão gerenciados pela Microsoft. |
Front Door Standard/Premium com de filtragem geográfica |
Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra de filtragem geográfica. |
Front Door Standard/Premium com limite de taxa |
Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra de limite de taxa. |
Front Door Standard/Premium com WAF e de regra personalizada |
Esse modelo cria um Front Door Standard/Premium, incluindo um firewall de aplicativo Web com uma regra personalizada. |
Front Door com origens de blob para upload de blobs |
Esse modelo cria um Front Door com origens, rotas e ruleSets e contas de Armazenamento do Azure com contêineres de blob. O Front Door envia tráfego para as contas de armazenamento ao carregar arquivos. |
CDN do FrontDoor com WAF, Domínios e Logs no EventHub |
Esse modelo cria um novo perfil cdn do Azure FrontDoor. Crie WAF com regras personalizadas e gerenciadas, rotas cdn, origem e grupos com sua associação com WAF e rotas, configura domínios personalizados, criar hub de eventos e configurações de diagnóstico para enviar logs de acesso à CDN usando o hub de eventos. |
Aplicativo de Funções protegido pelo Frontdoor do Azure |
Esse modelo permite implantar uma função premium do Azure protegida e publicada pelo Azure Frontdoor Premium. A conação entre o Azure Frontdoor e o Azure Functions é protegida pelo Link Privado do Azure. |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso FrontDoorWebApplicationFirewallPolicies pode ser implantado com operações direcionadas:
- grupos de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, adicione o Terraform a seguir ao modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-01"
name = "string"
etag = "string"
location = "string"
sku = {
name = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
customRules = {
rules = [
{
action = "string"
enabledState = "string"
matchConditions = [
{
matchValue = [
"string"
]
matchVariable = "string"
negateCondition = bool
operator = "string"
selector = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDurationInMinutes = int
rateLimitThreshold = int
ruleType = "string"
}
]
}
managedRules = {
managedRuleSets = [
{
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleGroupOverrides = [
{
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleGroupName = "string"
rules = [
{
action = "string"
enabledState = "string"
exclusions = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
ruleId = "string"
}
]
}
]
ruleSetAction = "string"
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
enabledState = "string"
mode = "string"
redirectUrl = "string"
requestBodyCheck = "string"
}
}
})
}
Valores de propriedade
CustomRule
Nome | Descrição | Valor |
---|---|---|
ação | Descreve qual ação a ser aplicada quando a regra corresponde. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'Log' 'Redirecionamento' (obrigatório) |
enabledState | Descreve se a regra personalizada está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
matchConditions | Lista de condições de correspondência. | MatchCondition[] (obrigatório) |
nome | Descreve o nome da regra. | corda Restrições: Comprimento máximo = |
prioridade | Descreve a prioridade da regra. As regras com um valor mais baixo serão avaliadas antes das regras com um valor mais alto. | int (obrigatório) |
rateLimitDurationInMinutes | Janela de tempo para redefinir a contagem de limite de taxa. O padrão é 1 minuto. | int Restrições: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitações permitidas por cliente dentro da janela de tempo. | int Restrições: Valor mínimo = 0 |
ruleType | Descreve o tipo de regra. | 'MatchRule' 'RateLimitRule' (obrigatório) |
CustomRuleList
Nome | Descrição | Valor |
---|---|---|
réguas | Lista de regras | CustomRule [] |
ManagedRuleExclusion
Nome | Descrição | Valor |
---|---|---|
matchVariable | O tipo de variável a ser excluído. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obrigatório) |
seletor | Valor do seletor para os quais elementos na coleção essa exclusão se aplica. | cadeia de caracteres (obrigatório) |
selectorMatchOperator | Operador de comparação a ser aplicado ao seletor ao especificar a quais elementos na coleção essa exclusão se aplica. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obrigatório) |
ManagedRuleGroupOverride
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões aplicadas a todas as regras do grupo. | ManagedRuleExclusion[] |
ruleGroupName | Descreve o grupo de regras gerenciadas a ser substituído. | cadeia de caracteres (obrigatório) |
réguas | Lista de regras que serão desabilitadas. Se nenhuma especificada, todas as regras do 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' 'Redirecionamento' |
enabledState | Descreve se a regra gerenciada está no estado habilitado ou desabilitado. O padrão será Desabilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
Exclusões | Descreve as exclusões aplicadas a essa regra específica. | ManagedRuleExclusion[] |
ruleId | Identificador para a regra gerenciada. | cadeia de caracteres (obrigatório) |
ManagedRuleSet
Nome | Descrição | Valor |
---|---|---|
Exclusões | Descreve as exclusões que são aplicadas a todas as regras no conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define as substituições do grupo de regras a serem aplicadas ao conjunto de regras. | ManagedRuleGroupOverride |
ruleSetAction | Define a ação de conjunto de regras. | 'Bloquear' 'Log' 'Redirecionamento' |
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) |
ManagedRuleSetList
Nome | Descrição | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de regras. | ManagedRuleSet [] |
MatchCondition
Nome | Descrição | Valor |
---|---|---|
matchValue | Lista de possíveis valores de correspondência. | string[] (obrigatório) |
matchVariable | Solicitar variável com a qual comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obrigatório) |
negateCondition | Descreve se o resultado dessa condição deve ser negado. | Bool |
operador | Tipo de comparação a ser usado para correspondência com o valor da variável. | 'Any' 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obrigatório) |
seletor | Corresponda a uma chave específica das variáveis QueryString, PostArgs, RequestHeader ou Cookies. O padrão é nulo. | corda |
Transforma | Lista de transformações. | Matriz de cadeia de caracteres que contém qualquer um dos: 'Minúscula' 'RemoveNulls' 'Trim' 'Maiúscula' 'UrlDecode' 'UrlEncode' |
Microsoft.Network/FrontDoorWebApplicationFirewallPolicies
Nome | Descrição | Valor |
---|---|---|
etag | Obtém uma cadeia de caracteres somente leitura exclusiva que é alterada sempre que o recurso é atualizado. | corda |
localização | Local do recurso. | corda |
nome | O nome do recurso | corda Restrições: Comprimento máximo = (obrigatório) |
Propriedades | Propriedades da política de firewall do aplicativo Web. | WebApplicationFirewallPolicyProperties |
Sku | O tipo de preço da política de firewall do aplicativo Web. O padrão é Classic_AzureFrontDoor se não for especificado. | de SKU |
Tags | Marcações de recursos | Dicionário de nomes e valores de marca. |
tipo | O tipo de recurso | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-01" |
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. | corda Restrições: 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 o código de status de resposta. | int |
enabledState | Descreve se a política está no estado habilitado ou desabilitado. O padrão é Habilitado se não for especificado. | 'Desabilitado' 'Habilitado' |
modo | Descreve se ele está no modo de detecção ou no modo de prevenção no nível da política. | 'Detecção' 'Prevenção' |
redirectUrl | Se o tipo de ação for redirecionado, esse campo representará a URL de redirecionamento para o cliente. | corda |
requestBodyCheck | Descreve se as regras gerenciadas por política inspecionarão o conteúdo do corpo da solicitação. | 'Desabilitado' 'Habilitado' |
ResourceTags
Nome | Descrição | Valor |
---|
Sku
Nome | Descrição | Valor |
---|---|---|
nome | Nome do tipo de preço. | 'Classic_AzureFrontDoor' 'Premium_AzureFrontDoor' 'Standard_AzureFrontDoor' |
WebApplicationFirewallPolicyProperties
Nome | Descrição | Valor |
---|---|---|
customRules | Descreve regras personalizadas dentro da política. | CustomRuleList |
managedRules | Descreve as regras gerenciadas dentro da política. | ManagedRuleSetList |
policySettings | Descreve as configurações da política. | PolicySettings |