Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies
- más reciente
- 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
Definición de recursos de Bicep
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies 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.
Formato de recurso
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-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: {
exceptions: [
{
exceptionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
valueMatchOperator: 'string'
values: [
'string'
]
}
]
exclusions: [
{
exclusionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
action: 'string'
ruleId: 'string'
sensitivity: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
jsChallengeCookieExpirationInMins: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
requestBodyEnforcement: bool
requestBodyInspectLimitInKB: int
state: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Valores de propiedad
ExceptionEntry
Nombre | Descripción | Valor |
---|---|---|
exceptionManagedRuleSets | Conjuntos de reglas administradas asociados a la excepción. | ExclusionManagedRuleSet[] |
matchVariable | Variable en la que se evalúa la condición de excepción. | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatorio) |
selector | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), identifica la clave. | cuerda |
selectorMatchOperator | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), funciona en el selector. | 'Contains' 'EndsWith' 'Equals' 'StartsWith' |
valueMatchOperator | Funciona en los valores permitidos para matchVariable | 'Contains' 'EndsWith' 'Equals' 'IPMatch' 'StartsWith' (obligatorio) |
valores | Valores permitidos para matchVariable | string[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ExclusionManagedRuleGroup
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas para la exclusión. | string (obligatorio) |
reglas | Lista de reglas que se excluirán. Si no se especifica ninguno, se excluirán todas las reglas del grupo. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroups | Define los grupos de reglas que se aplicarán al conjunto de reglas. | ExclusionManagedRuleGroup[] |
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) |
GroupByUserSession
Nombre | Descripción | Valor |
---|---|---|
groupByVariables | Lista de variables de cláusula group by. | GroupByVariable[] (obligatorio) |
GroupByVariable
Nombre | Descripción | Valor |
---|---|---|
variableName | Variable de cláusula User Session. | 'ClientAddr' 'GeoLocation' 'None' (obligatorio) |
ManagedRuleGroupOverride
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' |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
sensibilidad | Describe la confidencialidad de invalidación que se va a aplicar cuando la regla coincide. | "Alto" "Bajo" "Medio" 'Ninguno' |
estado | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
Excepciones | Excepciones que se aplican a la directiva. | ExceptionEntry[] |
Exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
ManagedRuleSet
MatchCondition
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | cuerda |
variableName | Coincidencia de variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatorio) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Valor |
---|---|---|
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
OwaspCrsExclusionEntry
Nombre | Descripción | Valor |
---|---|---|
exclusionManagedRuleSets | Conjuntos de reglas administradas asociados a la exclusión. | ExclusionManagedRuleSet[] |
matchVariable | Variable que se va a excluir. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
PolicySettings
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: Longitud máxima = 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 Restricciones: Valor mínimo = 0 |
fileUploadEnforcement | Si permite que WAF aplique límites de carga de archivos. | Bool |
fileUploadLimitInMb | Tamaño máximo de carga de archivos en Mb para WAF. | Int Restricciones: Valor mínimo = 0 |
jsChallengeCookieExpirationInMins | Tiempo de expiración de cookies de desafío de JavaScript del firewall de aplicaciones web en cuestión de minutos. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Para limpiar los campos de registro confidenciales | policySettingsLogScrubbing |
maxRequestBodySizeInKb | Tamaño máximo del cuerpo de la solicitud en Kb para WAF. | Int Restricciones: Valor mínimo = 8 |
modo | Modo de la directiva. | "Detección" "Prevención" |
requestBodyCheck | Indica si se permite que WAF compruebe el cuerpo de la solicitud. | Bool |
requestBodyEnforcement | Indica si se permite que WAF aplique límites del cuerpo de la solicitud. | Bool |
requestBodyInspectLimitInKB | Límite máximo de inspección en KB para la inspección del cuerpo de la solicitud para WAF. | Int |
estado | Estado de la directiva. | 'Deshabilitado' 'Habilitado' |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Las reglas que se aplican a los registros para la limpieza. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
ResourceTags
Nombre | Descripción | Valor |
---|
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
acción | Tipo de acciones. | 'Permitir' 'Bloquear' 'JSChallenge' 'Log' (obligatorio) |
groupByUserSession | Lista de cláusulas de agrupación por identificador de sesión de usuario. | groupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | cuerda Restricciones: Longitud máxima = |
prioridad | Prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDuration | Duración sobre la que se aplicará la directiva límite de velocidad. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" 'OneMin' |
rateLimitThreshold | Umbral de límite de velocidad para aplicar en caso de que ruleType sea RateLimitRule. Debe ser mayor o igual que 1 | Int |
ruleType | Tipo de regla. | 'No válido' 'MatchRule' 'RateLimitRule' (obligatorio) |
estado | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | webApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | managedRulesDefinition (obligatorio) |
policySettings | PolicySettings para policy. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (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 la regla de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
Ejemplos de inicio rápido
En los ejemplos de inicio rápido siguientes se implementa este tipo de recurso.
Archivo de Bicep | Descripción |
---|---|
clúster de AKS con una puerta de enlace NAT y un de Application Gateway | En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para las conexiones salientes y una instancia de Application Gateway para las conexiones entrantes. |
clúster de AKS con el controlador de entrada de Application Gateway | En este ejemplo se muestra cómo implementar un clúster de AKS con Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics y Key Vault |
Application Gateway con waf y la directiva de firewall | Esta plantilla crea una instancia de Application Gateway con WAF configurado junto con una directiva de firewall. |
Creación de una instancia de Azure WAF v2 en Azure Application Gateway | Esta plantilla crea un firewall de aplicaciones web de Azure v2 en Azure Application Gateway con dos servidores de Windows Server 2016 en el grupo de back-end |
Front Door Estándar/Premium con el origen de Application Gateway | Esta plantilla crea una instancia de Front Door Standard/Premium y una instancia de Application Gateway y usa una directiva de NSG y WAF para validar que el tráfico ha llegado a través del origen de Front Door. |
Front Door con instancias de contenedor y Application Gateway | Esta plantilla crea una instancia de Front Door Standard/Premium con un grupo de contenedores y Application Gateway. |
Definición de recursos de plantilla de ARM
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies 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.
Formato de recurso
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2024-03-01",
"name": "string",
"location": "string",
"properties": {
"customRules": [
{
"action": "string",
"groupByUserSession": [
{
"groupByVariables": [
{
"variableName": "string"
}
]
}
],
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDuration": "string",
"rateLimitThreshold": "int",
"ruleType": "string",
"state": "string"
}
],
"managedRules": {
"exceptions": [
{
"exceptionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"valueMatchOperator": "string",
"values": [ "string" ]
}
],
"exclusions": [
{
"exclusionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"ruleId": "string",
"sensitivity": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"jsChallengeCookieExpirationInMins": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"requestBodyEnforcement": "bool",
"requestBodyInspectLimitInKB": "int",
"state": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Valores de propiedad
ExceptionEntry
Nombre | Descripción | Valor |
---|---|---|
exceptionManagedRuleSets | Conjuntos de reglas administradas asociados a la excepción. | ExclusionManagedRuleSet[] |
matchVariable | Variable en la que se evalúa la condición de excepción. | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatorio) |
selector | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), identifica la clave. | cuerda |
selectorMatchOperator | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), funciona en el selector. | 'Contains' 'EndsWith' 'Equals' 'StartsWith' |
valueMatchOperator | Funciona en los valores permitidos para matchVariable | 'Contains' 'EndsWith' 'Equals' 'IPMatch' 'StartsWith' (obligatorio) |
valores | Valores permitidos para matchVariable | string[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ExclusionManagedRuleGroup
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas para la exclusión. | string (obligatorio) |
reglas | Lista de reglas que se excluirán. Si no se especifica ninguno, se excluirán todas las reglas del grupo. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroups | Define los grupos de reglas que se aplicarán al conjunto de reglas. | ExclusionManagedRuleGroup[] |
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) |
GroupByUserSession
Nombre | Descripción | Valor |
---|---|---|
groupByVariables | Lista de variables de cláusula group by. | GroupByVariable[] (obligatorio) |
GroupByVariable
Nombre | Descripción | Valor |
---|---|---|
variableName | Variable de cláusula User Session. | 'ClientAddr' 'GeoLocation' 'None' (obligatorio) |
ManagedRuleGroupOverride
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' |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
sensibilidad | Describe la confidencialidad de invalidación que se va a aplicar cuando la regla coincide. | "Alto" "Bajo" "Medio" 'Ninguno' |
estado | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
Excepciones | Excepciones que se aplican a la directiva. | ExceptionEntry[] |
Exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
ManagedRuleSet
MatchCondition
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | cuerda |
variableName | Coincidencia de variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatorio) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Valor |
---|---|---|
apiVersion | La versión de api | '2024-03-01' |
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
tipo | El tipo de recurso | 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies' |
OwaspCrsExclusionEntry
Nombre | Descripción | Valor |
---|---|---|
exclusionManagedRuleSets | Conjuntos de reglas administradas asociados a la exclusión. | ExclusionManagedRuleSet[] |
matchVariable | Variable que se va a excluir. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
PolicySettings
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: Longitud máxima = 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 Restricciones: Valor mínimo = 0 |
fileUploadEnforcement | Si permite que WAF aplique límites de carga de archivos. | Bool |
fileUploadLimitInMb | Tamaño máximo de carga de archivos en Mb para WAF. | Int Restricciones: Valor mínimo = 0 |
jsChallengeCookieExpirationInMins | Tiempo de expiración de cookies de desafío de JavaScript del firewall de aplicaciones web en cuestión de minutos. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Para limpiar los campos de registro confidenciales | policySettingsLogScrubbing |
maxRequestBodySizeInKb | Tamaño máximo del cuerpo de la solicitud en Kb para WAF. | Int Restricciones: Valor mínimo = 8 |
modo | Modo de la directiva. | "Detección" "Prevención" |
requestBodyCheck | Indica si se permite que WAF compruebe el cuerpo de la solicitud. | Bool |
requestBodyEnforcement | Indica si se permite que WAF aplique límites del cuerpo de la solicitud. | Bool |
requestBodyInspectLimitInKB | Límite máximo de inspección en KB para la inspección del cuerpo de la solicitud para WAF. | Int |
estado | Estado de la directiva. | 'Deshabilitado' 'Habilitado' |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Las reglas que se aplican a los registros para la limpieza. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
ResourceTags
Nombre | Descripción | Valor |
---|
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
acción | Tipo de acciones. | 'Permitir' 'Bloquear' 'JSChallenge' 'Log' (obligatorio) |
groupByUserSession | Lista de cláusulas de agrupación por identificador de sesión de usuario. | groupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | cuerda Restricciones: Longitud máxima = |
prioridad | Prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDuration | Duración sobre la que se aplicará la directiva límite de velocidad. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" 'OneMin' |
rateLimitThreshold | Umbral de límite de velocidad para aplicar en caso de que ruleType sea RateLimitRule. Debe ser mayor o igual que 1 | Int |
ruleType | Tipo de regla. | 'No válido' 'MatchRule' 'RateLimitRule' (obligatorio) |
estado | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | webApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | managedRulesDefinition (obligatorio) |
policySettings | PolicySettings para policy. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (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 la regla de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
clúster de AKS con una puerta de enlace NAT y un de Application Gateway |
En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para las conexiones salientes y una instancia de Application Gateway para las conexiones entrantes. |
clúster de AKS con el controlador de entrada de Application Gateway |
En este ejemplo se muestra cómo implementar un clúster de AKS con Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics y Key Vault |
Application Gateway con waf y la directiva de firewall |
Esta plantilla crea una instancia de Application Gateway con WAF configurado junto con una directiva de firewall. |
Creación de una instancia de Azure WAF v2 en Azure Application Gateway |
Esta plantilla crea un firewall de aplicaciones web de Azure v2 en Azure Application Gateway con dos servidores de Windows Server 2016 en el grupo de back-end |
Front Door Estándar/Premium con el origen de Application Gateway |
Esta plantilla crea una instancia de Front Door Standard/Premium y una instancia de Application Gateway y usa una directiva de NSG y WAF para validar que el tráfico ha llegado a través del origen de Front Door. |
Front Door con instancias de contenedor y Application Gateway |
Esta plantilla crea una instancia de Front Door Standard/Premium con un grupo de contenedores y Application Gateway. |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies 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.
Formato de recurso
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-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 = {
exceptions = [
{
exceptionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
valueMatchOperator = "string"
values = [
"string"
]
}
]
exclusions = [
{
exclusionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
action = "string"
ruleId = "string"
sensitivity = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
jsChallengeCookieExpirationInMins = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
requestBodyEnforcement = bool
requestBodyInspectLimitInKB = int
state = "string"
}
}
})
tags = {
{customized property} = "string"
}
}
Valores de propiedad
ExceptionEntry
Nombre | Descripción | Valor |
---|---|---|
exceptionManagedRuleSets | Conjuntos de reglas administradas asociados a la excepción. | ExclusionManagedRuleSet[] |
matchVariable | Variable en la que se evalúa la condición de excepción. | 'RemoteAddr' 'RequestHeader' 'RequestURI' (obligatorio) |
selector | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), identifica la clave. | cuerda |
selectorMatchOperator | Cuando matchVariable apunta a un par clave-valor (por ejemplo, RequestHeader), funciona en el selector. | 'Contains' 'EndsWith' 'Equals' 'StartsWith' |
valueMatchOperator | Funciona en los valores permitidos para matchVariable | 'Contains' 'EndsWith' 'Equals' 'IPMatch' 'StartsWith' (obligatorio) |
valores | Valores permitidos para matchVariable | string[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ExclusionManagedRuleGroup
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas para la exclusión. | string (obligatorio) |
reglas | Lista de reglas que se excluirán. Si no se especifica ninguno, se excluirán todas las reglas del grupo. | ExclusionManagedRule[] |
ExclusionManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroups | Define los grupos de reglas que se aplicarán al conjunto de reglas. | ExclusionManagedRuleGroup[] |
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) |
GroupByUserSession
Nombre | Descripción | Valor |
---|---|---|
groupByVariables | Lista de variables de cláusula group by. | GroupByVariable[] (obligatorio) |
GroupByVariable
Nombre | Descripción | Valor |
---|---|---|
variableName | Variable de cláusula User Session. | 'ClientAddr' 'GeoLocation' 'None' (obligatorio) |
ManagedRuleGroupOverride
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' |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
sensibilidad | Describe la confidencialidad de invalidación que se va a aplicar cuando la regla coincide. | "Alto" "Bajo" "Medio" 'Ninguno' |
estado | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
Excepciones | Excepciones que se aplican a la directiva. | ExceptionEntry[] |
Exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
ManagedRuleSet
MatchCondition
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | cuerda |
variableName | Coincidencia de variable. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatorio) |
Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Valor |
---|---|---|
ubicación | Ubicación del recurso. | cuerda |
nombre | El nombre del recurso | cuerda Restricciones: Longitud máxima = (obligatorio) |
Propiedades | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
Etiquetas | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. |
tipo | El tipo de recurso | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2024-03-01" |
OwaspCrsExclusionEntry
Nombre | Descripción | Valor |
---|---|---|
exclusionManagedRuleSets | Conjuntos de reglas administradas asociados a la exclusión. | ExclusionManagedRuleSet[] |
matchVariable | Variable que se va a excluir. | 'RequestArgKeys' 'RequestArgNames' 'RequestArgValues' 'RequestCookieKeys' 'RequestCookieNames' 'RequestCookieValues' 'RequestHeaderKeys' 'RequestHeaderNames' 'RequestHeaderValues' (obligatorio) |
selector | Cuando matchVariable es una colección, el operador se usa para especificar a qué elementos de la colección se aplica esta exclusión. | string (obligatorio) |
selectorMatchOperator | Cuando matchVariable es una colección, opera en el selector para especificar a qué elementos de la colección se aplica esta exclusión. | 'Contains' 'EndsWith' 'Equals' 'EqualsAny' 'StartsWith' (obligatorio) |
PolicySettings
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: Longitud máxima = 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 Restricciones: Valor mínimo = 0 |
fileUploadEnforcement | Si permite que WAF aplique límites de carga de archivos. | Bool |
fileUploadLimitInMb | Tamaño máximo de carga de archivos en Mb para WAF. | Int Restricciones: Valor mínimo = 0 |
jsChallengeCookieExpirationInMins | Tiempo de expiración de cookies de desafío de JavaScript del firewall de aplicaciones web en cuestión de minutos. | Int Restricciones: Valor mínimo = 5 Valor máximo = 1440 |
logScrubbing | Para limpiar los campos de registro confidenciales | policySettingsLogScrubbing |
maxRequestBodySizeInKb | Tamaño máximo del cuerpo de la solicitud en Kb para WAF. | Int Restricciones: Valor mínimo = 8 |
modo | Modo de la directiva. | "Detección" "Prevención" |
requestBodyCheck | Indica si se permite que WAF compruebe el cuerpo de la solicitud. | Bool |
requestBodyEnforcement | Indica si se permite que WAF aplique límites del cuerpo de la solicitud. | Bool |
requestBodyInspectLimitInKB | Límite máximo de inspección en KB para la inspección del cuerpo de la solicitud para WAF. | Int |
estado | Estado de la directiva. | 'Deshabilitado' 'Habilitado' |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Las reglas que se aplican a los registros para la limpieza. | webApplicationFirewallScrubbingRules[] |
estado | Estado de la configuración de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |
ResourceTags
Nombre | Descripción | Valor |
---|
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
acción | Tipo de acciones. | 'Permitir' 'Bloquear' 'JSChallenge' 'Log' (obligatorio) |
groupByUserSession | Lista de cláusulas de agrupación por identificador de sesión de usuario. | groupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition [] (obligatorio) |
nombre | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | cuerda Restricciones: Longitud máxima = |
prioridad | Prioridad de la regla. Las reglas con un valor inferior se evaluarán antes de que las reglas con un valor mayor. | int (obligatorio) |
rateLimitDuration | Duración sobre la que se aplicará la directiva límite de velocidad. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" 'OneMin' |
rateLimitThreshold | Umbral de límite de velocidad para aplicar en caso de que ruleType sea RateLimitRule. Debe ser mayor o igual que 1 | Int |
ruleType | Tipo de regla. | 'No válido' 'MatchRule' 'RateLimitRule' (obligatorio) |
estado | Describe si la regla personalizada está habilitada o deshabilitada. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | webApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | managedRulesDefinition (obligatorio) |
policySettings | PolicySettings para policy. | PolicySettings |
WebApplicationFirewallScrubbingRules
Nombre | Descripción | Valor |
---|---|---|
matchVariable | Variable que se va a limpiar de los registros. | 'RequestArgNames' 'RequestCookieNames' 'RequestHeaderNames' 'RequestIPAddress' 'RequestJSONArgNames' 'RequestPostArgNames' (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 la regla de limpieza de registros. El valor predeterminado es Habilitado. | 'Deshabilitado' 'Habilitado' |