允許和計數動作的自訂要求標頭插入 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

允許和計數動作的自訂要求標頭插入

您可以指示AWS WAF,將自訂標頭插入原始 HTTP 要求,以進行規則動作或設定為允許或計數的 Web ACL 預設動作。您只能新增至請求。您無法修改或取代原始請求的任何部分。如需規則動作的詳細資訊,請參閱 AWS WAF 規則動作。如需預設 Web ACL 動作的詳細資訊,請參閱決定 Web ACL 的預設動作

自訂標頭插入的使用案例包括向下游應用程式發出信號,以根據插入的標頭以不同的方式處理要求,以及標記要求進行分析。

自訂請求標題名稱

AWS WAF前綴它插入的所有請求頭x-amzn-waf-,以避免與請求中已存在的標題混淆。例如,如果您指定標頭名稱sample、AWS WAF插入標頭x-amzn-waf-sample

具有相同名稱的標題

如果請求已經具有與AWS WAF正在插入,AWS WAF會覆寫標頭。因此,如果您在具有相同名稱的多個規則中定義標題,則檢查請求並查找匹配項的最後一個規則將添加其標題,並且以前的任何規則都不會。

具有計數操作的自定義標題

計數規則動作不會停止處理 Web 要求。如果您插入具有使用計數動作的規則的自訂標頭,後續規則也可能會插入自訂標頭。如需計數規則動作行為的相關資訊,請參閱AWS WAF 規則動作

例如,假設您有以下規則,依照顯示的順序排列優先順序:

  1. 具有計數操作的規則和名為RuleAHeader

  2. 具有允許操作和名為自定義標題的 RuleBRuleBHeader

如果要求同時符合規則 A 和規則 B,AWS WAF插入標頭x-amzn-waf-RuleAHeaderx-amzn-waf-RuleBHeader,然後轉寄請求至受保護的資源。

AWS WAF會在完成檢查請求時將自訂標頭插入 Web 請求。因此,如果您將自訂要求處理與動作設定為計數的規則搭配使用,則後續規則不會檢查您新增的自訂標頭。

自訂請求處理範例

您可以為規則的動作或 Web ACL 的預設動作定義自訂要求處理。下列清單顯示新增至 Web ACL 預設動作的自訂處理 JSON。

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }