為什麼我在 AWS WAF 中收到 "WAFInvalidParameterException" 錯誤?

1 分的閱讀內容
0

我想知道為什麼會收到 "WAFInvalidParameterException" 錯誤。

簡短描述

如果您正在執行的操作具有 AWS WAF 無法辨識的參數,則該操作會失敗。AWS WAF 傳回的錯誤之一是 WAFInvalidParameterException。以下是導致此錯誤的常見原因:

  • 您指定的參數名稱或值無效。
  • 巢狀陳述式無效。
  • Web 存取控制清單 (Web ACL) 已使用不屬於可用類型之一的 DefaultAction 更新。
  • 請求中引用的 ARN 來自於無法與 Web ACL 建立關聯的資源。

解決方法

無法辨識參數名稱或值

如果 AWS WAF 無法識別參數值,則您會看到類似下列範例的訊息:

「呼叫 CreateRuleGroup 操作時發生錯誤 (WAFInvalidParameterException): 錯誤原因:
範圍無效,欄位: SCOPE_VALUE,參數: <parameter value>

例如,不是 REGIONALCLOUDFRONTScope 參數值會返回前述錯誤。

若要對此錯誤進行疑難排解,請完成下列步驟:

  1. 識別 AWS WAF 無法辨識的參數值。
  2. 將參數修改為 AWS WAF 支援的值。如需詳細資訊,請參閱 AWS WAFV2

無法辨識資源類型

AWS WAF 可以與 Amazon CloudFront 分佈、Amazon API Gateway REST API、Application Load Balancer 或 AWS AppSync GraphQL API 建立關聯。如果您與其他資源類型建立關聯,則會看到類似下列範例的訊息:

「呼叫 AssociateWebACL 操作時發生錯誤 (WAFInvalidParameterException): 錯誤原因:
ARN 無效。有效的 ARN 以 arn: 開頭,並包括以冒號或斜線分隔的其他資訊,欄位: RESOURCE_ARN,參數:<resource arn」

若要對此錯誤進行疑難排解,請完成下列步驟:

  1. 識別 AWS WAF 無法辨識的參數值。
  2. 將參數修改為 AWS WAF 支援的資源。

**注意:**與 Web ACL 相關聯之資源 ARN 必須具有下列其中一種格式:

  • Application Load Balancer:arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
  • Amazon API Gateway REST API:arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
  • AWS AppSync GraphQL API:arn:aws:appsync:region:account-id:apis/GraphQLApiId
  • Amazon Cognito 使用者集區:arn:aws:cognito-idp:region:account-id:userpool/user-pool-id
  • AWS App Runner 服務:arn:aws:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id

無法辨識 DefaultAction 值

您可以將 AWS WAF DefaultAction 欄位設定為允許封鎖。如果將欄位設定為其他內容,則會收到類似下列範例的錯誤:

「您嘗試使用不屬於 DefaultAction 可用類型之一的 DefaultAction 更新 Web ACL。」

如需有關可接受值的詳細資訊,請參閱請求語法

參考

決定 Web ACL 的預設動作

WAFInvalidParamterException 類別

WAFInvalidParameterException 命名空間

AWS 官方
AWS 官方已更新 6 個月前