本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
列出基于速率的规则实施速率限制的 IP 地址
如果您的基于速率的规则仅聚合 IP 地址或转发的 IP 地址,则可以检索该规则当前限制速率的 IP 地址列表。 AWS WAF 将这些 IP 地址存储在规则的托管密钥列表中。
注意
只有在仅聚合 IP 地址或仅聚合标头中的 IP 地址时,此选项才可用。如果您使用自定义键请求聚合,则即使您在自定义键中使用了其中一个 IP 地址规范,也无法检索速率受限的 IP 地址列表。
基于速率的规则将其规则操作应用于规则的托管键列表中与规则的范围缩小语句相匹配的请求。当规则没有范围缩小语句时,它会将操作应用于来自列表中 IP 地址的所有请求。默认情况下,规则操作为 Block,但它可以是除 Allow 之外的任何有效规则操作。使用单个基于速率的规则实例 AWS WAF 可以限制速率的最大 IP 地址数为 10,000。如果超过 10,000 个地址超过速率 AWS WAF 限制,则限制速率最高的地址。
您可以使用 CLI、API 或任何软件开发工具包访问基于速率的规则的托管键列表。本主题介绍使用 CLI 和 API 进行访问。控制台目前不提供对列表的访问权限。
对于 AWS WAF API,命令为GetRateBasedStatementManagedKeys。
对于 AWS WAF CLI,命令是 get-rate-based-statement-managed-key s。
以下显示了检索 Ama CloudFront zon 分配上网页 ACL 中使用的基于费率的规则的限速 IP 地址列表的语法。
aws wafv2 get-rate-based-statement-managed-keys --scope=CLOUDFRONT --region=us-east-1 --web-acl-name=
WebACLName
--web-acl-id=WebACLId
--rule-name=RuleName
下面显示了区域应用程序、Amazon API Gateway REST API、应用程序负载均衡器、 AWS AppSync GraphQL API、Amazon Cognito 用户池、服务或 AWS 已验证访问 AWS App Runner 实例的语法。
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=
region
--web-acl-name=WebACLName
--web-acl-id=WebACLId
--rule-name=RuleName
AWS WAF 监控 Web 请求并独立管理 Web ACL、可选规则组和基于速率的规则的每个唯一组合的密钥。例如,如果在规则组内定义基于速率的规则,然后在 Web ACL 中使用该规则组,则 AWS WAF 会监视 Web 请求并管理该 Web ACL 的键、规则组参考语句和基于速率的规则实例。如果您在第二个 Web ACL 中使用相同的规则组,则会 AWS WAF 监控 Web 请求并管理第二次使用的密钥,完全独立于第一次使用。
对于您在规则组中定义的基于速率的规则,除了 Web ACL 名称和规则组内基于速率的规则的名称外,还需要在请求中提供规则组参考语句的名称。下面显示了区域应用程序的语法,其中基于速率的规则是在规则组内定义的,而规则组则在 Web ACL 中使用。
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=
region
--web-acl-name=WebACLName
--web-acl-id=WebACLId
--rule-group-rule-name=RuleGroupRuleName
--rule-name=RuleName