本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
列出受速率規則限制的 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 或任何 SDK 存取以速率為基礎的規則的受管金鑰清單。本主題涵蓋使用 CLI 和 API 進行存取。控制台目前不提供對列表的訪問權限。
對於 AWS WAF API,命令是GetRateBasedStatementManagedKeys。
對於 AWS WAF CLI,該命令是受get-rate-based-statement管理的密鑰。
以下顯示針對 Amazon CloudFront 分發上 Web 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 閘道 REST API、Application Load Balancer、 AWS AppSync GraphQL API、Amazon Cognito 使用者集區、 AWS App Runner 服務或 AWS 已驗證存取執行個體的語法。
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