中的标签语法和命名要求 Amazon WAF - Amazon WAF、 Amazon Firewall ManagerAmazon Shield Advanced、和 Amazon Shield 网络安全总监
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

引入全新的主机体验 Amazon WAF

现在,您可以使用更新的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的主机体验

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

中的标签语法和命名要求 Amazon WAF

本节介绍如何构造 Amazon WAF 标签并与之匹配。

标签是由前缀、可选命名空间和名称组成的字符串。标签的组成部分用冒号分隔。标签具有以下要求和特征:

  • 标签区分大小写。

  • 每个标签命名空间或标签名称最多可包含 128 个字符。

  • 您最多可以在标签中指定 5 个命名空间。

  • 标签的组成部分用冒号 (:) 分隔。

  • 不能在为标签指定的命名空间或名称中使用以下保留字符串:awswafawswafrulegroupwebaclregexpatternsetipsetmanaged

标签语法

完全限定的标签具有前缀、可选命名空间和标签名称。前缀标识添加标签的规则组或保护包或 Web ACL 上下文。命名空间可用于为标签添加更多上下文。标签名称提供了标签的最低详细级别。它通常表示在请求中添加标签的特定规则。

标签前缀因其来源而异。

  • 您的标签-以下内容显示了您在保护包或 Web ACL 中创建的标签的完整标签语法以及规则组规则。实体类型为 rulegroupwebacl

    awswaf:<entity owner account id>:<entity type>:<entity name>:<custom namespace>:...:<label name>
    • 标签命名空间前缀:awswaf:<entity owner account id>:<entity type>:<entity name>:

    • 添加的自定义命名空间:<custom namespace>:…:

    在规则组、保护包或 Web ACL 中为规则定义标签时,您可以控制自定义命名空间字符串和标签名称。其余的由你生成 Amazon WAF。 Amazon WAF 自动在所有标签前加awswaf上账户和保护包或 Web ACL 或规则组实体设置。

  • 托管规则组标签 – 以下内容显示了由托管规则组中的规则创建的标签的完整标签语法。

    awswaf:managed:<vendor>:<rule group name>:<custom namespace>:...:<label name>
    • 标签命名空间前缀:awswaf:managed:<vendor>:<rule group name>:

    • 添加的自定义命名空间:<custom namespace>:…:

    所有 Amazon 托管规则规则组都会添加标签。有关托管规则组的信息,请参阅在中使用托管规则组 Amazon WAF

  • 来自其他 Amazon 进程的标签- Amazon 托管规则规则组使用这些进程,因此您可以看到它们已添加到使用托管规则组评估的 Web 请求中。下面显示了由托管规则组调用的进程所创建的标签的完整标签语法。

    awswaf:managed:<process>:<custom namespace>:...:<label name>
    • 标签命名空间前缀:awswaf:managed:<process>:

    • 添加的自定义命名空间:<custom namespace>:…:

    这种类型的标签是为调用 Amazon 进程的托管规则组而列出的。有关托管规则组的信息,请参阅在中使用托管规则组 Amazon WAF

为您的规则添加标签的示例

以下示例标签由属于账户 111122223333 的名为 testRules 的规则组中的规则定义。

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

下面的列表显示了 JSON 中的示例标签规范。这些标签名称在结尾标签名称之前包含自定义命名空间字符串。

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

您可以通过规则 JSON 编辑器在控制台中访问此类列表。

如果您在与前面的标签示例相同的规则组和账户中运行上述规则,则将生成以下完全限定标签:

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

托管规则组的标签示例

以下显示了 Amazon 托管规则组及其调用的流程的示例标签。

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