Microsoft.Network FrontDoorWebApplicationFirewallPolicies
El tipo de recurso FrontDoorWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2024-02-01' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
customRules: {
rules: [
{
action: 'string'
enabledState: 'string'
groupBy: [
{
variableName: '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'
javascriptChallengeExpirationInMinutes: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
mode: 'string'
redirectUrl: 'string'
requestBodyCheck: 'string'
}
}
sku: {
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
Nombre | Descripción | Valor |
---|---|---|
acción | Describe qué acción se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" (obligatorio) |
enabledState | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
groupBy | Describe la lista de variables para agrupar las solicitudes de límite de velocidad. | groupByVariable[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Describe el nombre de la regla. | cuerda Restricciones: Longitud máxima = 128 |
prioridad | Describe la prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDurationInMinutes | Período de tiempo para restablecer el recuento de límites de velocidad. El valor predeterminado es de 1 minuto. | Int Restricciones: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitudes permitidas por cliente dentro del período de tiempo. | Int Restricciones: Valor mínimo = 0 |
ruleType | Describe el tipo de regla. | 'MatchRule' 'RateLimitRule' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
reglas | Lista de reglas | customRule[] |
Nombre | Descripción | Valor |
---|---|---|
variableName | Describe la variable admitida para agrupar por | 'GeoLocation' 'Ninguno' 'SocketAddr' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Tipo de variable que se va a excluir. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obligatorio) |
selector | Valor del selector al que se aplican los elementos de la colección a la que se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Operador de comparación al que se va a aplicar el selector al especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del grupo. | ManagedRuleExclusion[] |
ruleGroupName | Describe el grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguna, se deshabilitarán todas las reglas del grupo. | ManagedRuleOverride [] |
Nombre | Descripción | Valor |
---|---|---|
acción | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" |
enabledState | Describe si la regla administrada está habilitada o deshabilitada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
Exclusiones | Describe las exclusiones que se aplican a esta regla específica. | ManagedRuleExclusion[] |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride [] |
ruleSetAction | Define la acción del conjunto de reglas. | 'Bloquear' 'Log' "Redireccionamiento" |
ruleSetType | Define el tipo de conjunto de reglas que se va a usar. | string (obligatorio) |
ruleSetVersion | Define la versión del conjunto de reglas que se va a usar. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de reglas. | managedRuleSet[] |
Nombre | Descripción | Valor |
---|---|---|
matchValue | Lista de posibles valores de coincidencia. | string[] (obligatorio) |
matchVariable | Solicitar variable con la que comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obligatorio) |
negateCondition | Describe si se debe negar el resultado de esta condición. | Bool |
operador | Tipo de comparación que se va a usar para buscar coincidencias con el valor de variable. | "Any" 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obligatorio) |
selector | Coincide con una clave específica de las variables QueryString, PostArgs, RequestHeader o Cookies. El valor predeterminado es NULL. | cuerda |
Transforma | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: 'Minúsculas' 'RemoveNulls' 'Trim' 'Mayúsculas' 'UrlDecode' 'UrlEncode' |
Nombre | Descripción | Valor |
---|---|---|
etag | Obtiene una cadena de solo lectura única que cambia cada vez que se actualiza el recurso. | cuerda |
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = 128 (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | webApplicationFirewallPolicyProperties |
Sku | Plan de tarifa de la directiva de firewall de aplicaciones web. El valor predeterminado es Classic_AzureFrontDoor si no se especifica. | Sku de |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
Nombre | Descripción | Valor |
---|---|---|
customBlockResponseBody | Si el tipo de acción está bloqueado, el cliente puede invalidar el cuerpo de la respuesta. El cuerpo debe especificarse en la codificación base64. | cuerda Restricciones: Patrón = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si el tipo de acción está bloqueado, el cliente puede invalidar el código de estado de respuesta. | Int |
enabledState | Describe si la directiva está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
javascriptChallengeExpirationInMinutes | Define la duración de validez de cookies de desafío de JavaScript en minutos. Esta configuración solo se aplica a Premium_AzureFrontDoor. El valor debe ser un entero entre 5 y 1440 con el valor predeterminado 30. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Define reglas que limpian campos confidenciales en los registros de Firewall de aplicaciones web. | policySettingsLogScrubbing |
modo | Describe si está en modo de detección o modo de prevención en el nivel de directiva. | "Detección" "Prevención" |
redirectUrl | Si el tipo de acción es redireccionamiento, este campo representa la dirección URL de redireccionamiento para el cliente. | cuerda |
requestBodyCheck | Describe si las reglas administradas por directivas inspeccionarán el contenido del cuerpo de la solicitud. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Lista de reglas de limpieza de registros aplicadas a los registros del firewall de aplicaciones web. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del plan de tarifa. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
Nombre | Descripción | Valor |
---|---|---|
customRules | Describe las reglas personalizadas dentro de la directiva. | customRuleList de |
managedRules | Describe las reglas administradas dentro de la directiva. | managedRuleSetList |
policySettings | Describe la configuración de la directiva. | PolicySettings |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestUri' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta regla. | cuerda |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta regla. | 'Equals' 'EqualsAny' (obligatorio) |
estado | Define el estado de una regla de limpieza de registros. El valor predeterminado está habilitado. | 'Deshabilitado' 'Habilitado' |
En los ejemplos de inicio rápido siguientes se implementa este tipo de recurso.
Archivo de Bicep | Descripción |
---|---|
Configuración de defaultRuleSet administrado de WAF para Azure Front Door | Esta plantilla configura defaultRuleSet administrado por WAF para Azure Front Door. |
Front Door Premium con el origen del blob y private Link | Esta plantilla crea una instancia de Front Door Premium y un contenedor de blobs de Azure Storage y usa un punto de conexión privado para Front Door para enviar tráfico a la cuenta de almacenamiento. |
Front Door Premium con waf y conjuntos de reglas administrados por Microsoft | Esta plantilla crea una instancia de Front Door Premium, incluido un firewall de aplicaciones web con los conjuntos de reglas de protección de bots y predeterminados administrados por Microsoft. |
Front Door Estándar/Premium con de filtrado geográfico | Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla de filtrado geográfico. |
Front Door Estándar/Premium con límite de velocidad | Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla de límite de velocidad. |
Front Door Estándar/Premium con WAF y de reglas personalizadas | Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla personalizada. |
Front Door con orígenes de blobs para la carga de blobs | Esta plantilla crea una instancia de Front Door con orígenes, rutas y conjuntos de reglas y cuentas de Azure Storage con contenedores de blobs. Front Door envía tráfico a las cuentas de almacenamiento al cargar archivos. |
RED CDN de FrontDoor con WAF, Dominios y registros en EventHub | Esta plantilla crea un nuevo perfil de cdn de Azure FrontDoor. Cree WAF con reglas personalizadas y administradas, rutas cdn, origen y grupos con su asociación con WAF y rutas, configure dominios personalizados, cree un centro de eventos y una configuración de diagnóstico para enviar registros de acceso de CDN mediante el centro de eventos. |
Function App protegida por Azure Frontdoor | Esta plantilla le permite implementar una función premium de Azure protegida y publicada por Azure Frontdoor Premium. La concción entre Azure Frontdoor y Azure Functions está protegida por Azure Private Link. |
El tipo de recurso FrontDoorWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies",
"apiVersion": "2024-02-01",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"customRules": {
"rules": [
{
"action": "string",
"enabledState": "string",
"groupBy": [
{
"variableName": "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",
"javascriptChallengeExpirationInMinutes": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"mode": "string",
"redirectUrl": "string",
"requestBodyCheck": "string"
}
},
"sku": {
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
Nombre | Descripción | Valor |
---|---|---|
acción | Describe qué acción se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" (obligatorio) |
enabledState | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
groupBy | Describe la lista de variables para agrupar las solicitudes de límite de velocidad. | groupByVariable[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Describe el nombre de la regla. | cuerda Restricciones: Longitud máxima = 128 |
prioridad | Describe la prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDurationInMinutes | Período de tiempo para restablecer el recuento de límites de velocidad. El valor predeterminado es de 1 minuto. | Int Restricciones: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitudes permitidas por cliente dentro del período de tiempo. | Int Restricciones: Valor mínimo = 0 |
ruleType | Describe el tipo de regla. | 'MatchRule' 'RateLimitRule' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
reglas | Lista de reglas | customRule[] |
Nombre | Descripción | Valor |
---|---|---|
variableName | Describe la variable admitida para agrupar por | 'GeoLocation' 'Ninguno' 'SocketAddr' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Tipo de variable que se va a excluir. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obligatorio) |
selector | Valor del selector al que se aplican los elementos de la colección a la que se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Operador de comparación al que se va a aplicar el selector al especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del grupo. | ManagedRuleExclusion[] |
ruleGroupName | Describe el grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguna, se deshabilitarán todas las reglas del grupo. | ManagedRuleOverride [] |
Nombre | Descripción | Valor |
---|---|---|
acción | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" |
enabledState | Describe si la regla administrada está habilitada o deshabilitada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
Exclusiones | Describe las exclusiones que se aplican a esta regla específica. | ManagedRuleExclusion[] |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride [] |
ruleSetAction | Define la acción del conjunto de reglas. | 'Bloquear' 'Log' "Redireccionamiento" |
ruleSetType | Define el tipo de conjunto de reglas que se va a usar. | string (obligatorio) |
ruleSetVersion | Define la versión del conjunto de reglas que se va a usar. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de reglas. | managedRuleSet[] |
Nombre | Descripción | Valor |
---|---|---|
matchValue | Lista de posibles valores de coincidencia. | string[] (obligatorio) |
matchVariable | Solicitar variable con la que comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obligatorio) |
negateCondition | Describe si se debe negar el resultado de esta condición. | Bool |
operador | Tipo de comparación que se va a usar para buscar coincidencias con el valor de variable. | "Any" 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obligatorio) |
selector | Coincide con una clave específica de las variables QueryString, PostArgs, RequestHeader o Cookies. El valor predeterminado es NULL. | cuerda |
Transforma | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: 'Minúsculas' 'RemoveNulls' 'Trim' 'Mayúsculas' 'UrlDecode' 'UrlEncode' |
Nombre | Descripción | Valor |
---|---|---|
apiVersion | La versión de api | '2024-02-01' |
etag | Obtiene una cadena de solo lectura única que cambia cada vez que se actualiza el recurso. | cuerda |
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = 128 (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | webApplicationFirewallPolicyProperties |
Sku | Plan de tarifa de la directiva de firewall de aplicaciones web. El valor predeterminado es Classic_AzureFrontDoor si no se especifica. | Sku de |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
tipo | El tipo de recurso | 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies' |
Nombre | Descripción | Valor |
---|---|---|
customBlockResponseBody | Si el tipo de acción está bloqueado, el cliente puede invalidar el cuerpo de la respuesta. El cuerpo debe especificarse en la codificación base64. | cuerda Restricciones: Patrón = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si el tipo de acción está bloqueado, el cliente puede invalidar el código de estado de respuesta. | Int |
enabledState | Describe si la directiva está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
javascriptChallengeExpirationInMinutes | Define la duración de validez de cookies de desafío de JavaScript en minutos. Esta configuración solo se aplica a Premium_AzureFrontDoor. El valor debe ser un entero entre 5 y 1440 con el valor predeterminado 30. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Define reglas que limpian campos confidenciales en los registros de Firewall de aplicaciones web. | policySettingsLogScrubbing |
modo | Describe si está en modo de detección o modo de prevención en el nivel de directiva. | "Detección" "Prevención" |
redirectUrl | Si el tipo de acción es redireccionamiento, este campo representa la dirección URL de redireccionamiento para el cliente. | cuerda |
requestBodyCheck | Describe si las reglas administradas por directivas inspeccionarán el contenido del cuerpo de la solicitud. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Lista de reglas de limpieza de registros aplicadas a los registros del firewall de aplicaciones web. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del plan de tarifa. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
Nombre | Descripción | Valor |
---|---|---|
customRules | Describe las reglas personalizadas dentro de la directiva. | customRuleList de |
managedRules | Describe las reglas administradas dentro de la directiva. | managedRuleSetList |
policySettings | Describe la configuración de la directiva. | PolicySettings |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestUri' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta regla. | cuerda |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta regla. | 'Equals' 'EqualsAny' (obligatorio) |
estado | Define el estado de una regla de limpieza de registros. El valor predeterminado está habilitado. | 'Deshabilitado' 'Habilitado' |
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
Configuración de la restricción de IP del cliente waf para Azure Front Door |
Esta plantilla configura la restricción de IP del cliente waf para el punto de conexión de Azure Front Door. |
Configuración de defaultRuleSet administrado de WAF para Azure Front Door |
Esta plantilla configura defaultRuleSet administrado por WAF para Azure Front Door. |
Configuración de la regla de liming de velocidad de WAF para el punto de conexión de Azure Front Door |
Esta plantilla configura una regla de WAF para Que Azure Front Door limite el tráfico entrante de un host de front-end determinado. |
Configurar reglas de WAF con parámetros HTTP para Front Door |
Esta plantilla configura reglas personalizadas de WAF basadas en parámetros http específicos para el punto de conexión de Azure Front Door. |
Creación de Azure Front Door delante de Azure API Management |
En este ejemplo se muestra cómo usar Azure Front Door como equilibrador de carga global delante de Azure API Management. |
creación de una regla de filtrado geográfico de WAF para el punto de conexión de Azure Front Door |
Esta plantilla crea una regla de filtrado geográfico de WAF para Azure Front Door que permite o bloquea el tráfico de determinados países. |
Front Door Premium con el origen del blob y private Link |
Esta plantilla crea una instancia de Front Door Premium y un contenedor de blobs de Azure Storage y usa un punto de conexión privado para Front Door para enviar tráfico a la cuenta de almacenamiento. |
Front Door Premium con waf y conjuntos de reglas administrados por Microsoft |
Esta plantilla crea una instancia de Front Door Premium, incluido un firewall de aplicaciones web con los conjuntos de reglas de protección de bots y predeterminados administrados por Microsoft. |
Front Door Estándar/Premium con de filtrado geográfico |
Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla de filtrado geográfico. |
Front Door Estándar/Premium con límite de velocidad |
Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla de límite de velocidad. |
Front Door Estándar/Premium con WAF y de reglas personalizadas |
Esta plantilla crea una instancia de Front Door Standard/Premium, incluido un firewall de aplicaciones web con una regla personalizada. |
Front Door con orígenes de blobs para la carga de blobs |
Esta plantilla crea una instancia de Front Door con orígenes, rutas y conjuntos de reglas y cuentas de Azure Storage con contenedores de blobs. Front Door envía tráfico a las cuentas de almacenamiento al cargar archivos. |
RED CDN de FrontDoor con WAF, Dominios y registros en EventHub |
Esta plantilla crea un nuevo perfil de cdn de Azure FrontDoor. Cree WAF con reglas personalizadas y administradas, rutas cdn, origen y grupos con su asociación con WAF y rutas, configure dominios personalizados, cree un centro de eventos y una configuración de diagnóstico para enviar registros de acceso de CDN mediante el centro de eventos. |
Function App protegida por Azure Frontdoor |
Esta plantilla le permite implementar una función premium de Azure protegida y publicada por Azure Frontdoor Premium. La concción entre Azure Frontdoor y Azure Functions está protegida por Azure Private Link. |
El tipo de recurso FrontDoorWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- grupos de recursos de
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.Network/FrontDoorWebApplicationFirewallPolicies, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2024-02-01"
name = "string"
etag = "string"
location = "string"
sku = {
name = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
customRules = {
rules = [
{
action = "string"
enabledState = "string"
groupBy = [
{
variableName = "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"
javascriptChallengeExpirationInMinutes = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
mode = "string"
redirectUrl = "string"
requestBodyCheck = "string"
}
}
})
}
Nombre | Descripción | Valor |
---|---|---|
acción | Describe qué acción se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" (obligatorio) |
enabledState | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
groupBy | Describe la lista de variables para agrupar las solicitudes de límite de velocidad. | groupByVariable[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Describe el nombre de la regla. | cuerda Restricciones: Longitud máxima = 128 |
prioridad | Describe la prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDurationInMinutes | Período de tiempo para restablecer el recuento de límites de velocidad. El valor predeterminado es de 1 minuto. | Int Restricciones: Valor mínimo = 0 Valor máximo = 5 |
rateLimitThreshold | Número de solicitudes permitidas por cliente dentro del período de tiempo. | Int Restricciones: Valor mínimo = 0 |
ruleType | Describe el tipo de regla. | 'MatchRule' 'RateLimitRule' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
reglas | Lista de reglas | customRule[] |
Nombre | Descripción | Valor |
---|---|---|
variableName | Describe la variable admitida para agrupar por | 'GeoLocation' 'Ninguno' 'SocketAddr' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Tipo de variable que se va a excluir. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' (obligatorio) |
selector | Valor del selector al que se aplican los elementos de la colección a la que se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Operador de comparación al que se va a aplicar el selector al especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del grupo. | ManagedRuleExclusion[] |
ruleGroupName | Describe el grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguna, se deshabilitarán todas las reglas del grupo. | ManagedRuleOverride [] |
Nombre | Descripción | Valor |
---|---|---|
acción | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalyScoring' 'Bloquear' 'JSChallenge' 'Log' "Redireccionamiento" |
enabledState | Describe si la regla administrada está habilitada o deshabilitada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
Exclusiones | Describe las exclusiones que se aplican a esta regla específica. | ManagedRuleExclusion[] |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
Exclusiones | Describe las exclusiones que se aplican a todas las reglas del conjunto. | ManagedRuleExclusion[] |
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride [] |
ruleSetAction | Define la acción del conjunto de reglas. | 'Bloquear' 'Log' "Redireccionamiento" |
ruleSetType | Define el tipo de conjunto de reglas que se va a usar. | string (obligatorio) |
ruleSetVersion | Define la versión del conjunto de reglas que se va a usar. | string (obligatorio) |
Nombre | Descripción | Valor |
---|---|---|
managedRuleSets | Lista de conjuntos de reglas. | managedRuleSet[] |
Nombre | Descripción | Valor |
---|---|---|
matchValue | Lista de posibles valores de coincidencia. | string[] (obligatorio) |
matchVariable | Solicitar variable con la que comparar. | 'Cookies' 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestHeader' 'RequestMethod' 'RequestUri' 'SocketAddr' (obligatorio) |
negateCondition | Describe si se debe negar el resultado de esta condición. | Bool |
operador | Tipo de comparación que se va a usar para buscar coincidencias con el valor de variable. | "Any" 'BeginsWith' 'Contains' 'EndsWith' 'Igual' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'RegEx' (obligatorio) |
selector | Coincide con una clave específica de las variables QueryString, PostArgs, RequestHeader o Cookies. El valor predeterminado es NULL. | cuerda |
Transforma | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: 'Minúsculas' 'RemoveNulls' 'Trim' 'Mayúsculas' 'UrlDecode' 'UrlEncode' |
Nombre | Descripción | Valor |
---|---|---|
etag | Obtiene una cadena de solo lectura única que cambia cada vez que se actualiza el recurso. | cuerda |
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = 128 (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | webApplicationFirewallPolicyProperties |
Sku | Plan de tarifa de la directiva de firewall de aplicaciones web. El valor predeterminado es Classic_AzureFrontDoor si no se especifica. | Sku de |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. |
tipo | El tipo de recurso | "Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2024-02-01" |
Nombre | Descripción | Valor |
---|---|---|
customBlockResponseBody | Si el tipo de acción está bloqueado, el cliente puede invalidar el cuerpo de la respuesta. El cuerpo debe especificarse en la codificación base64. | cuerda Restricciones: Patrón = ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ |
customBlockResponseStatusCode | Si el tipo de acción está bloqueado, el cliente puede invalidar el código de estado de respuesta. | Int |
enabledState | Describe si la directiva está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
javascriptChallengeExpirationInMinutes | Define la duración de validez de cookies de desafío de JavaScript en minutos. Esta configuración solo se aplica a Premium_AzureFrontDoor. El valor debe ser un entero entre 5 y 1440 con el valor predeterminado 30. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Define reglas que limpian campos confidenciales en los registros de Firewall de aplicaciones web. | policySettingsLogScrubbing |
modo | Describe si está en modo de detección o modo de prevención en el nivel de directiva. | "Detección" "Prevención" |
redirectUrl | Si el tipo de acción es redireccionamiento, este campo representa la dirección URL de redireccionamiento para el cliente. | cuerda |
requestBodyCheck | Describe si las reglas administradas por directivas inspeccionarán el contenido del cuerpo de la solicitud. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Lista de reglas de limpieza de registros aplicadas a los registros del firewall de aplicaciones web. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
Nombre | Descripción | Valor |
---|
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del plan de tarifa. | "Classic_AzureFrontDoor" "Premium_AzureFrontDoor" "Standard_AzureFrontDoor" |
Nombre | Descripción | Valor |
---|---|---|
customRules | Describe las reglas personalizadas dentro de la directiva. | customRuleList de |
managedRules | Describe las reglas administradas dentro de la directiva. | managedRuleSetList |
policySettings | Describe la configuración de la directiva. | PolicySettings |
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'QueryStringArgNames' 'RequestBodyJsonArgNames' 'RequestBodyPostArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestUri' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta regla. | cuerda |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta regla. | 'Equals' 'EqualsAny' (obligatorio) |
estado | Define el estado de una regla de limpieza de registros. El valor predeterminado está habilitado. | 'Deshabilitado' 'Habilitado' |