Pourquoi l'erreur « WAFInvalidParameterException » s'affiche-t-elle dans AWS WAF ?

Lecture de 3 minute(s)
0

Je souhaite savoir pourquoi je reçois l'erreur « WAFInvalidParameterException ».

Brève description

Si l'opération que vous effectuez comporte des paramètres qu'AWS WAF ne reconnaît pas, elle échoue. L'une des erreurs renvoyées par AWS WAF est WAFInvalidParameterException. Les causes courantes de cette erreur sont les suivantes :

  • Le nom ou la valeur d'un paramètre que vous avez spécifié n'est pas valide.
  • Une instruction imbriquée n'est pas valide.
  • Une liste de contrôle d'accès Web (ACL Web) a été mise à jour avec une DefaultAction qui ne fait pas partie des types disponibles.
  • L'ARN référencé dans la demande provient d'une ressource qui ne peut pas être associée à l'ACL Web.

Résolution

Le nom ou la valeur du paramètre n'est pas reconnu

Si AWS WAF ne reconnaît pas la valeur d'un paramètre, un message de ce type s'affichera :

« An error occurred (WAFInvalidParameterException) when calling the CreateRuleGroup operation: Error reason:
The scope is not valid., field: SCOPE_VALUE, parameter: <parameter value> »

Par exemple, une valeur de paramètre Portée qui n'est pas de type RÉGIONAL ou CLOUDFRONT renverra l'erreur précédente.

Pour résoudre ce problème, procédez comme suit :

  1. Identifiez la valeur de paramètre qui n’est pas reconnue par AWS WAF.
  2. Modifiez le paramètre en lui attribuant une valeur prise en charge par AWS WAF. Pour en savoir plus, consultez la page AWS WAFV2.

Le type de ressource n'est pas reconnu

AWS WAF peut être associé à une distribution Amazon CloudFront, à l'API REST Amazon API Gateway, à un Application Load Balancer ou à l'API AWS AppSync GraphQL. Si vous l'associez à un autre type de ressource, un message de ce type s'affichera :

« An error occurred (WAFInvalidParameterException) when calling the AssociateWebACL operation: Error reason:
The ARN isn't valid. A valid ARN begins with arn: and includes other information separated by colons or slashes., field: RESOURCE_ARN, parameter: <resource arn »

Pour résoudre ce problème, procédez comme suit :

  1. Identifiez la valeur de paramètre qui n’est pas reconnue par AWS WAF.
  2. Modifiez le paramètre en lui attribuant une ressource prise en charge par AWS WAF.

Remarque : l'ARN de la ressource que vous associez à l'ACL Web doit être dans l'un des formats suivants :

  • Application Load Balancer : arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
  • API REST Amazon API Gateway : arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
  • API AWS AppSync GraphQL : arn:aws:appsync:region:account-id:apis/GraphQLApiId
  • Groupe d'utilisateurs Amazon Cognito : arn:aws:cognito-idp:region:account-id:userpool/user-pool-id
  • Service AWS App Runner : arn:aws:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id

La valeur DefaultAction n'est pas reconnue

Vous pouvez définir le champ AWS WAF DefaultAction sur Autoriser ou Bloquer. Si vous définissez le champ sur une autre valeur, vous recevrez un message d'erreur de ce type :

« You tried to update a Web ACL with a DefaultAction that isn't among the types available at DefaultAction. »

Pour en savoir plus sur les valeurs acceptables, consultez la page Syntaxe des demandes.

Références

Choix de l'action par défaut pour une ACL Web

Classe WAFInvalidParamterException

Espace de noms WAFInvalidParameterException

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un mois