Requisitos de sintaxe de rótulos e nomenclatura no AWS WAF - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

Requisitos de sintaxe de rótulos e nomenclatura no AWS WAF

Esta seção explica como criar e corresponder com um rótulo do AWS WAF.

Um rótulo é uma string composta por um prefixo, namespaces opcionais e um nome. Os componentes de um rótulo são delimitados com dois pontos. As rótulos têm os seguintes requisitos e características:

  • Os rótulos diferenciam maiúsculas de minúsculas.

  • Cada namespace de rótulo ou nome de rótulo pode ter até 128 caracteres.

  • Você pode especificar até 5 namespaces em um rótulo.

  • Os componentes de um rótulo são separados por dois pontos (:).

  • Você não pode usar as seguintes sequências de caracteres reservadas nos namespaces ou no nome que você especifica para um rótulo: awswaf, aws, waf, rulegroup, webacl, regexpatternset, ipset e managed.

Sintaxe de rótulos

Um rótulo totalmente qualificado têm um prefixo, namespaces opcionais e nome de rótulo. O prefixo identifica o grupo de regras ou o contexto de web ACL da regra que adicionou o rótulo. Os namespaces podem ser usados para adicionar mais contexto ao rótulo. O nome do rótulo fornece o nível mais baixo de detalhes para um rótulo. Geralmente indica a regra específica que adicionou o rótulo à solicitação.

O prefixo do rótulo varia de acordo com sua origem.

  • Seus rótulos:Veja a seguir a sintaxe completa dos rótulos que você cria em sua web ACL e nas regras do grupo de regras. Os tipos de entidade são rulegroup e webacl.

    awswaf:<entity owner account id>:<entity type>:<entity name>:<custom namespace>:...:<label name>
    • Prefixo do namespace do rótulo: awswaf:<entity owner account id>:<entity type>:<entity name>:

    • Adições personalizadas de namespace: <custom namespace>:…:

    Ao definir um rótulo para uma regra em um grupo de regras ou web ACL, você controla as strings de namespace personalizadas e o nome do rótulo. O resto é gerado para você pelo AWS WAF. O AWS WAF prefixa automaticamente todos os rótulos com awswaf e as configurações da conta e da web ACL ou da entidade do grupo de regras.

  • Rótulos de grupos de regras gerenciadas:Veja a seguir a sintaxe completa dos rótulos criados por regras em grupos de regras gerenciadas.

    awswaf:managed:<vendor>:<rule group name>:<custom namespace>:...:<label name>
    • Prefixo do namespace do rótulo: awswaf:managed:<vendor>:<rule group name>:

    • Adições personalizadas de namespace: <custom namespace>:…:

    Todos os grupos de regras das regras gerenciadas da AWS adicionam rótulos. Para obter informações sobre grupos de regras gerenciadas, consulte Como usar grupos de regras gerenciadas no AWS WAF.

  • Rótulos de outros processos da AWS: esses processos são usados por grupos de regras das regras gerenciadas da AWS, então você os vê adicionados às solicitações da web que você avalia usando grupos de regras gerenciadas. Veja a seguir a sintaxe completa dos rótulos criados por processos chamados por grupos de regras gerenciadas.

    awswaf:managed:<process>:<custom namespace>:...:<label name>
    • Prefixo do namespace do rótulo: awswaf:managed:<process>:

    • Adições personalizadas de namespace: <custom namespace>:…:

    Rótulos desse tipo são listados para os grupos de regras gerenciadas que chamam o processo da AWS. Para obter informações sobre grupos de regras gerenciadas, consulte Como usar grupos de regras gerenciadas no AWS WAF.

Exemplos de rótulos para suas regras

Os rótulos de exemplo a seguir são definidos por regras em um grupo de regras chamado testRules que pertence à conta, 111122223333.

awswaf:111122223333:rulegroup:testRules:testNS1:testNS2:LabelNameA
awswaf:111122223333:rulegroup:testRules:testNS1:LabelNameQ
awswaf:111122223333:rulegroup:testRules:LabelNameZ

A lista a seguir mostra um exemplo de especificação de rótulo em JSON. Esses nomes de rótulos incluem strings de namespace personalizadas antes do nome final do rótulo.

Rule: { Name: "label_rule", Statement: {...} RuleLabels: [ Name: "header:encoding:utf8", Name: "header:user_agent:firefox" ], Action: { Count: {} } }
nota

Você pode acessar esse tipo de lista no console por meio do editor JSON de regras.

Se você executar a regra anterior no mesmo grupo de regras e conta dos exemplos de rótulos anteriores, os rótulos totalmente qualificados resultantes seriam os seguintes:

awswaf:111122223333:rulegroup:testRules:header:encoding:utf8
awswaf:111122223333:rulegroup:testRules:header:user_agent:firefox

Exemplos de rótulos para grupos de regras gerenciadas

Veja a seguir exemplos de rótulos de grupos de regras das regras gerenciadas da AWS e processos que eles invocam.

awswaf:managed:aws:core-rule-set:NoUserAgent_Header
awswaf:managed:aws:sql-database:SQLiExtendedPatterns_QueryArguments
awswaf:managed:aws:atp:aggregate:attribute:compromised_credentials
awswaf:managed:token:accepted