Ejemplos de coincidencias de etiquetas de AWS WAF - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Ejemplos de coincidencias de etiquetas de AWS WAF

En esta sección se proporcionan ejemplos de especificaciones de coincidencia para la instrucción de la regla de coincidencia de etiquetas.

nota

Estas listas JSON se crearon en la consola añadiendo una regla a una ACL web con las especificaciones de coincidencia de etiquetas y, a continuación, editando la regla y cambiando al Editor de reglas JSON. También puede obtener el JSON de un grupo de reglas o ACL web a través de las API o de la interfaz de la línea de comandos.

Comparación con una etiqueta local

La siguiente lista de JSON muestra una instrucción de coincidencia de etiquetas para una etiqueta que se ha agregado a la solicitud web de forma local, en el mismo contexto que esta regla.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Si utiliza esta instrucción de coincidencia en la cuenta 111122223333, en una regla que defina para la ACL web testWebACL, coincidirá con las siguientes etiquetas.

awswaf:111122223333:webacl:testWebACL:header:encoding:utf8
awswaf:111122223333:webacl:testWebACL:testNS1:testNS2:header:encoding:utf8

No coincidiría con la siguiente etiqueta, porque la cadena de la etiqueta no coincide exactamente.

awswaf:111122223333:webacl:testWebACL:header:encoding2:utf8

No coincidiría con la siguiente etiqueta porque el contexto no es el mismo, por lo que el prefijo no coincide. Esto es cierto incluso si ha agregado el grupo de reglas productionRules a la ACL web testWebACL, donde se define la regla.

awswaf:111122223333:rulegroup:productionRules:header:encoding:utf8

Comparación con una etiqueta de otro contexto

La siguiente lista de JSON muestra una regla de coincidencia de etiquetas que coincide con una etiqueta de una regla de un grupo de reglas creado por el usuario. El prefijo es obligatorio en la especificación para todas las reglas que se ejecutan en la ACL web y que no forman parte del grupo de reglas mencionado. Esta especificación de etiqueta de ejemplo solo coincide con la etiqueta exacta.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "awswaf:111122223333:rulegroup:testRules:header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Comparación con una etiqueta de grupo de reglas administrado

Este es un caso especial de coincidencia con una etiqueta que proviene de un contexto diferente al de la regla de coincidencia. La siguiente lista de JSON muestra una instrucción de coincidencia de etiquetas para una etiqueta de grupo de reglas administrado. Solo coincide con la etiqueta exacta que se especifica en la configuración clave de la instrucción de coincidencia de etiquetas.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "awswaf:managed:aws:managed-rule-set:header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Comparación con un espacio de nombres local

La siguiente lista de JSON muestra una instrucción de coincidencia de etiquetas para un espacio de nombres local.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "NAMESPACE", Key: "header:encoding:" } }, Labels: [ ...generate_more_labels... ], Action: { Block: {} } }

De forma similar a la coincidencia local Label, si usa esta instrucción en la cuenta 111122223333, en una regla que defina para la ACL webtestWebACL, coincidirá con la siguiente etiqueta.

awswaf:111122223333:webacl:testWebACL:header:encoding:utf8

No coincidiría con la siguiente etiqueta porque la cuenta no es la misma, por lo que el prefijo no coincide.

awswaf:444455556666:webacl:testWebACL:header:encoding:utf8

El prefijo tampoco coincide con ninguna etiqueta aplicada por los grupos de reglas administrados, como las siguientes.

awswaf:managed:aws:managed-rule-set:header:encoding:utf8

Comparación con un nombre de espacio de un grupo de reglas administrado

La siguiente lista de JSON muestra una instrucción de coincidencia de etiquetas para un espacio de nombres de grupo de reglas administrado. En el caso de un grupo de reglas de su propiedad, también tendrá que proporcionar el prefijo para que coincida con un espacio de nombres que esté fuera del contexto de la regla.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "NAMESPACE", Key: "awswaf:managed:aws:managed-rule-set:header:" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Esta especificación coincide con las siguientes etiquetas de ejemplo.

awswaf:managed:aws:managed-rule-set:header:encoding:utf8
awswaf:managed:aws:managed-rule-set:header:encoding:unicode

No coincide con la siguiente etiqueta.

awswaf:managed:aws:managed-rule-set:query:badstring