Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies 2023-04-01
Definición de recursos de Bicep
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- Grupos de recursos: consulte los comandos de implementación del grupo de recursos.
Para obtener una lista de las propiedades modificadas en cada versión de api, consulte registro de cambios.
Formato de los recursos
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
customRules: [
{
action: 'string'
groupByUserSession: [
{
groupByVariables: [
{
variableName: 'string'
}
]
}
]
matchConditions: [
{
matchValues: [
'string'
]
matchVariables: [
{
selector: 'string'
variableName: 'string'
}
]
negationConditon: bool
operator: 'string'
transforms: [
'string'
]
}
]
name: 'string'
priority: int
rateLimitDuration: 'string'
rateLimitThreshold: int
ruleType: 'string'
state: 'string'
}
]
managedRules: {
exclusions: [
{
exclusionManagedRuleSets: [
{
ruleGroups: [
{
ruleGroupName: 'string'
rules: [
{
ruleId: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
}
]
managedRuleSets: [
{
ruleGroupOverrides: [
{
ruleGroupName: 'string'
rules: [
{
action: 'string'
ruleId: 'string'
state: 'string'
}
]
}
]
ruleSetType: 'string'
ruleSetVersion: 'string'
}
]
}
policySettings: {
customBlockResponseBody: 'string'
customBlockResponseStatusCode: int
fileUploadEnforcement: bool
fileUploadLimitInMb: int
logScrubbing: {
scrubbingRules: [
{
matchVariable: 'string'
selector: 'string'
selectorMatchOperator: 'string'
state: 'string'
}
]
state: 'string'
}
maxRequestBodySizeInKb: int
mode: 'string'
requestBodyCheck: bool
requestBodyEnforcement: bool
requestBodyInspectLimitInKB: int
state: 'string'
}
}
}
Valores de propiedad
ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Value |
---|---|---|
name | El nombre del recurso | string (obligatorio) |
ubicación | Ubicación del recurso | string |
etiquetas | Etiquetas del recurso. | Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas. |
properties | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | WebApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | ManagedRulesDefinition (obligatorio) |
policySettings | PolicySettings para la directiva. | PolicySettings |
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
action | Tipo de acción. | 'Permitir' 'Bloquear' 'Log' (obligatorio) |
groupByUserSession | Lista de cláusulas de grupo por identificador de sesión de usuario. | GroupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition[] (obligatorio) |
name | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | string Restricciones: Longitud máxima = 128 |
priority | 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 de límite de frecuencia. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" 'OneMin' |
rateLimitThreshold | Umbral de límite de frecuencia que se 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) |
state | Describe si la regla personalizada está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
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) |
MatchCondition
Nombre | Descripción | Valor |
---|---|---|
matchValues | Valor de coincidencia. | string[] (obligatorio) |
matchVariables | Lista de variables de coincidencia. | MatchVariable[] (obligatorio) |
negationConditon | Si se trata de una condición negada o no. | bool |
operator | Operador que se va a buscar. | "Cualquiera" 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obligatorio) |
transformaciones | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: 'HtmlEntityDecode' 'Minúsculas' 'RemoveNulls' 'Recortar' 'Mayúsculas' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | string |
variableName | Variable de coincidencia. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatorio) |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
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) |
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) |
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[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride[] |
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) |
ManagedRuleGroupOverride
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguno, todas las reglas del grupo se deshabilitarán. | ManagedRuleOverride[] |
ManagedRuleOverride
Nombre | Descripción | Valor |
---|---|---|
action | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalíaScoring' 'Bloquear' 'Log' |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
state | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
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. | string Restricciones: Longitud máxima = 32768 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 |
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 |
mode | Modo de la directiva. | "Detección" 'Prevención' |
requestBodyCheck | Si se permite que WAF compruebe el cuerpo de la solicitud. | bool |
requestBodyEnforcement | Si 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 |
state | Estado de la directiva. | 'Deshabilitado' 'Habilitado' |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Reglas que se aplican a los registros para el limpieza. | WebApplicationFirewallScrubbingRules[] |
state | Estado de la configuración de limpieza de registros. El valor predeterminado es Enabled. | 'Deshabilitado' 'Habilitado' |
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. | string |
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) |
state | Define el estado de la regla de limpieza de registros. El valor predeterminado es Enabled. | 'Deshabilitado' 'Habilitado' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
Create una instancia de Azure WAF v2 en Azure Application Gateway |
Esta plantilla crea una instancia de Azure Web Application Firewall v2 en Azure Application Gateway con dos servidores Windows Server 2016 en el grupo de back-end |
Clúster de AKS con una puerta de enlace NAT y una Application Gateway |
En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para conexiones salientes y una Application Gateway para las conexiones entrantes. |
Front Door Estándar/Premium con Application Gateway origen |
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 Container Instances y Application Gateway |
Esta plantilla crea una instancia de Front Door Standard/Premium con un grupo de contenedores y Application Gateway. |
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, controlador de entrada de Application Gateway, Azure Container Registry, Log Analytics y Key Vault |
Application Gateway con WAF y directiva de firewall |
Esta plantilla crea un Application Gateway con WAF configurado junto con una directiva de firewall |
Definición de recursos de plantilla de ARM
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- Grupos de recursos: consulte los comandos de implementación del grupo de recursos.
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de los recursos
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies",
"apiVersion": "2023-04-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"customRules": [
{
"action": "string",
"groupByUserSession": [
{
"groupByVariables": [
{
"variableName": "string"
}
]
}
],
"matchConditions": [
{
"matchValues": [ "string" ],
"matchVariables": [
{
"selector": "string",
"variableName": "string"
}
],
"negationConditon": "bool",
"operator": "string",
"transforms": [ "string" ]
}
],
"name": "string",
"priority": "int",
"rateLimitDuration": "string",
"rateLimitThreshold": "int",
"ruleType": "string",
"state": "string"
}
],
"managedRules": {
"exclusions": [
{
"exclusionManagedRuleSets": [
{
"ruleGroups": [
{
"ruleGroupName": "string",
"rules": [
{
"ruleId": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
],
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string"
}
],
"managedRuleSets": [
{
"ruleGroupOverrides": [
{
"ruleGroupName": "string",
"rules": [
{
"action": "string",
"ruleId": "string",
"state": "string"
}
]
}
],
"ruleSetType": "string",
"ruleSetVersion": "string"
}
]
},
"policySettings": {
"customBlockResponseBody": "string",
"customBlockResponseStatusCode": "int",
"fileUploadEnforcement": "bool",
"fileUploadLimitInMb": "int",
"logScrubbing": {
"scrubbingRules": [
{
"matchVariable": "string",
"selector": "string",
"selectorMatchOperator": "string",
"state": "string"
}
],
"state": "string"
},
"maxRequestBodySizeInKb": "int",
"mode": "string",
"requestBodyCheck": "bool",
"requestBodyEnforcement": "bool",
"requestBodyInspectLimitInKB": "int",
"state": "string"
}
}
}
Valores de propiedad
ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Value |
---|---|---|
type | Tipo de recurso | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies" |
apiVersion | La versión de la API de recursos | '2023-04-01' |
name | El nombre del recurso | string (obligatorio) |
ubicación | Ubicación del recurso | string |
etiquetas | Etiquetas del recurso. | Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas. |
properties | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | WebApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | ManagedRulesDefinition (obligatorio) |
policySettings | PolicySettings para la directiva. | PolicySettings |
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
action | Tipo de acción. | 'Permitir' 'Bloquear' 'Log' (obligatorio) |
groupByUserSession | Lista de cláusulas de grupo por identificador de sesión de usuario. | GroupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition[] (obligatorio) |
name | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | string Restricciones: Longitud máxima = 128 |
priority | 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 de límite de frecuencia. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" 'OneMin' |
rateLimitThreshold | Umbral de límite de frecuencia que se 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) |
state | Describe si la regla personalizada está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
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) |
MatchCondition
Nombre | Descripción | Valor |
---|---|---|
matchValues | Valor de coincidencia. | string[] (obligatorio) |
matchVariables | Lista de variables de coincidencia. | MatchVariable[] (obligatorio) |
negationConditon | Si se trata de una condición negada o no. | bool |
operator | Operador que se va a buscar. | "Cualquiera" 'BeginsWith' 'Contains' 'EndsWith' 'Equal' 'GeoMatch' 'GreaterThan' 'GreaterThanOrEqual' 'IPMatch' 'LessThan' 'LessThanOrEqual' 'Regex' (obligatorio) |
transformaciones | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: 'HtmlEntityDecode' 'Minúsculas' 'RemoveNulls' 'Recortar' 'Mayúsculas' 'UrlDecode' 'UrlEncode' |
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | string |
variableName | Variable de coincidencia. | 'PostArgs' 'QueryString' 'RemoteAddr' 'RequestBody' 'RequestCookies' 'RequestHeaders' 'RequestMethod' 'RequestUri' (obligatorio) |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
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) |
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) |
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[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride[] |
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) |
ManagedRuleGroupOverride
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguno, todas las reglas del grupo se deshabilitarán. | ManagedRuleOverride[] |
ManagedRuleOverride
Nombre | Descripción | Valor |
---|---|---|
action | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | 'Permitir' 'AnomalíaScoring' 'Bloquear' 'Log' |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
state | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | 'Deshabilitado' 'Habilitado' |
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. | string Restricciones: Longitud máxima = 32768 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 |
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 |
mode | Modo de la directiva. | "Detección" 'Prevención' |
requestBodyCheck | Si se permite que WAF compruebe el cuerpo de la solicitud. | bool |
requestBodyEnforcement | Si 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 |
state | Estado de la directiva. | 'Deshabilitado' 'Habilitado' |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Reglas que se aplican a los registros para la limpieza. | WebApplicationFirewallScrubbingRules[] |
state | Estado de la configuración de limpieza de registros. El valor predeterminado es Enabled. | 'Deshabilitado' 'Habilitado' |
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 utilizado para especificar a qué elementos de la colección se aplica esta regla. | string |
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) |
state | Define el estado de la regla de limpieza de registros. El valor predeterminado es Enabled. | 'Deshabilitado' 'Habilitado' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
Create una versión 2 de Azure WAF v2 en Azure Application Gateway |
Esta plantilla crea una instancia de Azure Web Application Firewall v2 en Azure Application Gateway con dos servidores Windows Server 2016 en el grupo de back-end. |
Clúster de AKS con una puerta de enlace NAT y un Application Gateway |
En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para conexiones salientes y un Application Gateway para las conexiones entrantes. |
Front Door Estándar/Premium con 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 Container Instances y Application Gateway |
Esta plantilla crea una instancia de Front Door Standard/Premium con un grupo de contenedores y Application Gateway. |
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 controlador de entrada, Azure Container Registry, Log Analytics y Key Vault |
Application Gateway con WAF y directiva de firewall |
Esta plantilla crea una Application Gateway con WAF configurado junto con una directiva de firewall. |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:
- Grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de api, consulte registro de cambios.
Formato de los recursos
Para crear un recurso Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
customRules = [
{
action = "string"
groupByUserSession = [
{
groupByVariables = [
{
variableName = "string"
}
]
}
]
matchConditions = [
{
matchValues = [
"string"
]
matchVariables = [
{
selector = "string"
variableName = "string"
}
]
negationConditon = bool
operator = "string"
transforms = [
"string"
]
}
]
name = "string"
priority = int
rateLimitDuration = "string"
rateLimitThreshold = int
ruleType = "string"
state = "string"
}
]
managedRules = {
exclusions = [
{
exclusionManagedRuleSets = [
{
ruleGroups = [
{
ruleGroupName = "string"
rules = [
{
ruleId = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
}
]
managedRuleSets = [
{
ruleGroupOverrides = [
{
ruleGroupName = "string"
rules = [
{
action = "string"
ruleId = "string"
state = "string"
}
]
}
]
ruleSetType = "string"
ruleSetVersion = "string"
}
]
}
policySettings = {
customBlockResponseBody = "string"
customBlockResponseStatusCode = int
fileUploadEnforcement = bool
fileUploadLimitInMb = int
logScrubbing = {
scrubbingRules = [
{
matchVariable = "string"
selector = "string"
selectorMatchOperator = "string"
state = "string"
}
]
state = "string"
}
maxRequestBodySizeInKb = int
mode = "string"
requestBodyCheck = bool
requestBodyEnforcement = bool
requestBodyInspectLimitInKB = int
state = "string"
}
}
})
}
Valores de propiedad
ApplicationGatewayWebApplicationFirewallPolicies
Nombre | Descripción | Value |
---|---|---|
type | Tipo de recurso | "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies@2023-04-01" |
name | El nombre del recurso | string (obligatorio) |
ubicación | Ubicación del recurso | string |
parent_id | Para realizar la implementación en un grupo de recursos, use el identificador de ese grupo de recursos. | string (obligatorio) |
etiquetas | Etiquetas del recurso. | Diccionario de nombres y valores de etiqueta. |
properties | Propiedades de la directiva de firewall de aplicaciones web. | WebApplicationFirewallPolicyPropertiesFormat |
WebApplicationFirewallPolicyPropertiesFormat
Nombre | Descripción | Valor |
---|---|---|
customRules | Reglas personalizadas dentro de la directiva. | WebApplicationFirewallCustomRule[] |
managedRules | Describe la estructura managedRules. | ManagedRulesDefinition (obligatorio) |
policySettings | PolicySettings para la directiva. | PolicySettings |
WebApplicationFirewallCustomRule
Nombre | Descripción | Valor |
---|---|---|
action | Tipo de acción. | "Permitir" "Bloquear" "Log" (obligatorio) |
groupByUserSession | Lista de cláusulas de grupo por identificador de sesión de usuario. | GroupByUserSession[] |
matchConditions | Lista de condiciones de coincidencia. | MatchCondition[] (obligatorio) |
name | Nombre del recurso que es único dentro de una directiva. Este nombre se puede usar para acceder al recurso. | string Restricciones: Longitud máxima = 128 |
priority | 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 de límite de frecuencia. Solo se aplica cuando ruleType es RateLimitRule. | "FiveMins" "OneMin" |
rateLimitThreshold | Umbral de límite de frecuencia que se 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) |
state | Describe si la regla personalizada está en estado habilitado o deshabilitado. El valor predeterminado es Habilitado si no se especifica. | "Deshabilitado" "Habilitado" |
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) |
MatchCondition
Nombre | Descripción | Valor |
---|---|---|
matchValues | Valor de coincidencia. | string[] (obligatorio) |
matchVariables | Lista de variables de coincidencia. | MatchVariable[] (obligatorio) |
negationConditon | Si se trata de una condición negada o no. | bool |
operator | Operador que se va a buscar. | "Cualquiera" "BeginsWith" "Contains" "EndsWith" "Igual" "GeoMatch" "GreaterThan" "GreaterThanOrEqual" "IPMatch" "LessThan" "LessThanOrEqual" "Regex" (obligatorio) |
transformaciones | Lista de transformaciones. | Matriz de cadenas que contiene cualquiera de: "HtmlEntityDecode" "Minúsculas" "RemoveNulls" "Recortar" "Mayúsculas" "UrlDecode" "UrlEncode" |
MatchVariable
Nombre | Descripción | Valor |
---|---|---|
selector | Selector de variable de coincidencia. | string |
variableName | Variable de coincidencia. | "PostArgs" "QueryString" "RemoteAddr" "RequestBody" "RequestCookies" "RequestHeaders" "RequestMethod" "RequestUri" (obligatorio) |
ManagedRulesDefinition
Nombre | Descripción | Valor |
---|---|---|
exclusiones | Exclusiones que se aplican a la directiva. | OwaspCrsExclusionEntry[] |
managedRuleSets | Conjuntos de reglas administradas asociados a la directiva. | ManagedRuleSet[] (obligatorio) |
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) |
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) |
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[] |
ExclusionManagedRule
Nombre | Descripción | Valor |
---|---|---|
ruleId | Identificador de la regla administrada. | string (obligatorio) |
ManagedRuleSet
Nombre | Descripción | Valor |
---|---|---|
ruleGroupOverrides | Define las invalidaciones del grupo de reglas que se aplicarán al conjunto de reglas. | ManagedRuleGroupOverride[] |
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) |
ManagedRuleGroupOverride
Nombre | Descripción | Valor |
---|---|---|
ruleGroupName | Grupo de reglas administradas que se va a invalidar. | string (obligatorio) |
reglas | Lista de reglas que se deshabilitarán. Si no se especifica ninguno, todas las reglas del grupo se deshabilitarán. | ManagedRuleOverride[] |
ManagedRuleOverride
Nombre | Descripción | Valor |
---|---|---|
action | Describe la acción de invalidación que se va a aplicar cuando la regla coincide. | "Permitir" "Anomalíascoring" "Bloquear" "Registro" |
ruleId | Identificador de la regla administrada. | string (obligatorio) |
state | Estado de la regla administrada. El valor predeterminado es Deshabilitado si no se especifica. | "Deshabilitado" "Habilitado" |
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. | string Restricciones: Longitud máxima = 32768 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 |
logScrubbing | Para limpiar 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 |
mode | Modo de la directiva. | "Detección" "Prevención" |
requestBodyCheck | Indica si se permite que WAF compruebe el cuerpo de la solicitud. | bool |
requestBodyEnforcement | Si permite que WAF aplique los 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 |
state | Estado de la directiva. | "Deshabilitado" "Habilitado" |
PolicySettingsLogScrubbing
Nombre | Descripción | Valor |
---|---|---|
scrubbingRules | Reglas que se aplican a los registros para la limpieza. | WebApplicationFirewallScrubbingRules[] |
state | Estado de la configuración de limpieza de registros. El valor predeterminado es Enabled. | "Deshabilitado" "Habilitado" |
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 utilizado para especificar a qué elementos de la colección se aplica esta regla. | string |
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) |
state | Define el estado de la regla de limpieza de registros. El valor predeterminado es Enabled. | "Deshabilitado" "Habilitado" |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de