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.
Temas
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