¿Por qué aparece el error «WAFInvalidParameterException» en AWS WAF?

3 minutos de lectura
0

Quiero saber por qué aparece el error «WAFInvalidParameterException».

Breve descripción

Si la operación que está realizando tiene parámetros que AWS WAF no puede reconocer, se producirá un error. Uno de los errores que AWS WAF devuelve es WAFInvalidParameterException. Los motivos más habituales por los que se produce este error son:

  • El nombre o el valor especificados para un parámetro no son válidos.
  • Una instrucción anidada no es válida.
  • Se ha actualizado una lista de control de acceso web (ACL web) con un tipo de DefaultAction que no está disponible.
  • El ARN al que se hace referencia en la solicitud proviene de un recurso que no se puede asociar a la ACL web.

Solución

No se reconoce el nombre o el valor del parámetro

Si AWS WAF no reconoce el valor de un parámetro, verá un mensaje similar al del siguiente ejemplo:

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

Por ejemplo, cuando el parámetro Scope tiene un valor distinto de REGIONAL o CLOUDFRONT, devuelve el error anterior.

Para solucionar este problema, siga estos pasos:

  1. Identifique el parámetro cuyo valor no reconoce AWS WAF.
  2. Cambie el parámetro a un valor admitido por AWS WAF. Para obtener más información, consulte AWS WAFV2.

No se reconoce el tipo de recurso

AWS WAF se puede asociar a una distribución de Amazon CloudFront, una API de REST de Amazon API Gateway, un equilibrador de carga de aplicación o una API de GraphQL de AWS AppSync. Si intenta asociarlo a otro tipo de recurso diferente, verá un mensaje similar al del siguiente ejemplo:

«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»

Para solucionar este problema, siga estos pasos:

  1. Identifique el parámetro cuyo valor no reconoce AWS WAF.
  2. Cambie el parámetro a un recurso admitido por AWS WAF.

Nota: El ARN del recurso que asocie a la ACL web deberá tener uno de los siguientes formatos:

  • Equilibrador de carga de aplicación: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
  • API de REST de Amazon API Gateway: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
  • API de GraphQL de AWS AppSync: arn:aws:appsync:region:account-id:apis/GraphQLApiId
  • Grupo de usuarios de Amazon Cognito: arn:aws:cognito-idp:region:account-id:userpool/user-pool-id
  • Servicio de AWS App Runner: arn:aws:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id

No se reconoce el valor de DefaultAction

El campo DefaultAction de AWS WAF puede tener definidos los valores Allow o Block. Si define cualquier otro valor para este campo, se mostrará un error similar al del siguiente ejemplo:

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

Para obtener más información sobre los valores aceptables, consulte Request syntax.

Referencias

Deciding on the default action for a web ACL

Class WAFInvalidParamterException

Namespace WAFInvalidParameterException

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses