Compartir a través de


Microsoft.Network ApplicationGatewayWebApplicationFirewallPolicies

Definición de recursos de Bicep

El tipo de recurso ApplicationGatewayWebApplicationFirewallPolicies se puede implementar con operaciones destinadas a:

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

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 ninguna, se deshabilitarán todas las reglas del grupo. ManagedRuleOverride []

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

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)

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
operador Operador que se va a buscar coincidencia. "Any"
'BeginsWith'
'Contains'
'EndsWith'
'Igual'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (obligatorio)
Transforma Lista de transformaciones. Matriz de cadenas que contiene cualquiera de:
'HtmlEntityDecode'
'Minúsculas'
'RemoveNulls'
'Trim'
'Mayúsculas'
'UrlDecode'
'UrlEncode'

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:

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

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 ninguna, se deshabilitarán todas las reglas del grupo. ManagedRuleOverride []

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

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)

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
operador Operador que se va a buscar coincidencia. "Any"
'BeginsWith'
'Contains'
'EndsWith'
'Igual'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (obligatorio)
Transforma Lista de transformaciones. Matriz de cadenas que contiene cualquiera de:
'HtmlEntityDecode'
'Minúsculas'
'RemoveNulls'
'Trim'
'Mayúsculas'
'UrlDecode'
'UrlEncode'

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

Implementación en Azure
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

Implementación en Azure
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

Implementación en Azure
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

Implementación en Azure
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

Implementación en Azure
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

Implementación en Azure
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

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 ninguna, se deshabilitarán todas las reglas del grupo. ManagedRuleOverride []

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

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)

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
operador Operador que se va a buscar coincidencia. "Any"
'BeginsWith'
'Contains'
'EndsWith'
'Igual'
'GeoMatch'
'GreaterThan'
'GreaterThanOrEqual'
'IPMatch'
'LessThan'
'LessThanOrEqual'
'Regex' (obligatorio)
Transforma Lista de transformaciones. Matriz de cadenas que contiene cualquiera de:
'HtmlEntityDecode'
'Minúsculas'
'RemoveNulls'
'Trim'
'Mayúsculas'
'UrlDecode'
'UrlEncode'

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'