Especificación del SDK para móviles de AWS WAF - AWS WAF, AWS Firewall Manager, AWS Shield Advanced y director de seguridad de red AWS Shield

Presentamos una nueva experiencia de consola para AWS WAF

Ahora puede usar la experiencia actualizada para acceder a las funciones de AWS WAF desde cualquier parte de la consola. Para obtener más información, consulta Trabajo con la experiencia de consola actualizada.

Especificación del SDK para móviles de AWS WAF

En esta sección, se enumeran los objetos, las operaciones y los ajustes de configuración del SDK para la última versión disponible del SDK para móviles de AWS WAF. Para obtener información detallada sobre cómo funcionan el proveedor de tokens y las operaciones para las distintas combinaciones de ajustes de configuración, consulte Cómo funciona el SDK para móviles de AWS WAF.

WAFToken

Contiene un token de AWS WAF.

getValue()

Recupera la representación String del valor WAFToken.

WAFTokenProvider

Administra los tokens en su aplicación para móviles. Implemente esto usando un objeto WAFConfiguration.

getToken()

Si la actualización en segundo plano está habilitada, devuelve el token almacenado en caché. Si la actualización en segundo plano está desactivada, se realiza una llamada síncrona y bloqueante a AWS WAF para recuperar un nuevo token.

loadTokenIntoProvider(WAFToken)

Carga el token especificado en elWAFTokenProvider, reemplazando cualquier token que el proveedor administraba. El proveedor de tokens toma posesión del token nuevo y continúa administrando su actualización. Esta operación también actualiza el token en el almacén de cookies si setTokenCookie está habilitado en el WAFConfiguration.

onTokenReady(WAFTokenResultCallback)

Indica al proveedor de tokens que actualice el token e invoque la devolución de llamada proporcionada cuando haya un token activo listo. El proveedor de tokens invocará la devolución de llamada en un hilo en segundo plano cuando el token esté en caché y esté listo. Llame a esto cuando la aplicación se cargue por primera vez y también cuando vuelva a un estado activo. Para obtener más información sobre cómo volver a un estado activo, consulte Recuperación de un token tras la inactividad de la aplicación.

Para las aplicaciones de Android o iOS, puede configurar WAFTokenResultCallback en la operación que desee que el proveedor de tokens invoque cuando el token solicitado esté listo. Su implementación de WAFTokenResultCallback debe tomar los parámetros WAFToken, SdkError. Para las aplicaciones de iOS, también puede crear una función en línea.

storeTokenInCookieStorage(WAFToken)

Indica al WAFTokenProvider que almacene el token de AWS WAF especificado en el administrador de cookies del SDK. De forma predeterminada, el token solo se agrega al almacén de cookies cuando se adquiere por primera vez y cuando se actualiza. Si la aplicación borra el almacén de cookies compartido por cualquier motivo, el SDK no volverá a agregar el token de AWS WAF automáticamente hasta la próxima actualización.

WAFConfiguration

Contiene la configuración para la implementación de WAFTokenProvider. Al implementar esto, debe proporcionar la URL de integración del paquete de protección (ACL web), el nombre de dominio que usará en el token y cualquier configuración no predeterminada que desee que use el proveedor de tokens.

La siguiente lista especifica los ajustes de configuración que puede administrar en el objeto WAFConfiguration.

applicationIntegrationUrl

La URL de integración de aplicaciones. Consígala desde la consola de AWS WAF o mediante la llamada a la API getWebACL.

Obligatorio: sí

Tipo: URL específica de la aplicación. Para iOS, consulte URL de iOS. Para Android, consulte URL java.net.

backgroundRefreshEnabled

Indica si desea que el proveedor de tokens actualice el token en segundo plano. Si lo establece, el proveedor de tokens los actualiza en segundo plano de acuerdo con los ajustes de configuración que rigen las actividades de actualización automática de los tokens.

Obligatorio: no

Tipo:: Boolean

Valor predeterminado: #: TRUE

domainName

El dominio que se utilizará en el token, que se utiliza para la adquisición de tokens y el almacenamiento de cookies. Por ejemplo, example.com o aws.amazon.com. Por lo general, este es el dominio host del recurso asociado con el paquete de protección (ACL web), hacia el cual enviará solicitudes web. En el caso del grupo de reglas administradas de la ACFP, AWSManagedRulesACFPRuleSet, este suele ser un dominio único que coincide con el dominio de la ruta de creación de cuentas que proporcionó en la configuración del grupo de reglas. En el caso del grupo de reglas administradas de ATP, AWSManagedRulesATPRuleSet, este suele ser un dominio único que coincide con el dominio de la ruta de inicio de sesión que proporcionó en la configuración del grupo de reglas.

No se admiten sufijos públicos. Por ejemplo, no puede usar gov.au o co.uk como dominio de token.

El dominio debe ser uno que AWS WAF acepte, según el dominio host protegido y la lista de dominios del token del paquete de protección (ACL web). Para obtener más información, consulte Configuración de la lista de dominios de tokens del paquete de protección (ACL web) de AWS WAF.

Obligatorio: sí

Tipo:: String

maxErrorTokenRefreshDelayMsec

El tiempo máximo en milisegundos para esperar antes de repetir una actualización del token después de un intento fallido. En cada reintento automático tras un intento fallido, se añade un retroceso exponencial hasta alcanzar el tiempo de demora especificado. Este valor se utiliza cuando la recuperación del token ha fallado y se ha vuelto a intentar maxRetryCount veces.

Obligatorio: no

Tipo:: Integer

Valor predeterminado: 5000 (5 segundos)

Valor mínimo permitido: 1 (1 milisegundo)

Valor máximo permitido: 30000 (30 segundos)

maxRetryCount

El número máximo de reintentos que se pueden realizar con un retroceso exponencial cuando se solicita un token.

Obligatorio: no

Tipo:: Integer

Valor predeterminado: #: Infinity

Valor mínimo permitido: 0

Valor máximo permitido: 100

setTokenCookie

Indica si desea que el administrador de cookies del SDK agregue una cookie de token en las solicitudes y en otras áreas.

Con un valor TRUE:

  • El administrador de cookies agrega una cookie de token a todas las solicitudes cuya ruta esté bajo la ruta especificada en tokenCookiePath.

  • La operación WAFTokenProvider loadTokenIntoProvider() actualiza el token en el almacén de cookies, además de cargarlo en el proveedor de tokens.

Obligatorio: no

Tipo:: Boolean

Valor predeterminado: #: TRUE

tokenCookiePath

Se usa cuando setTokenCookie es TRUE. Indica la ruta de nivel superior en la que desea que el gestor de cookies del SDK añada una cookie de token. El administrador agrega una cookie de token a todas las solicitudes que envíe a esta ruta y a todas las rutas secundarias.

Por ejemplo, si lo establece en /web/login, el administrador incluirá la cookie de token para todo lo que se envíe a /web/login y para cualquiera de sus rutas secundarias, como /web/login/help. No incluye el token para las solicitudes enviadas a otras rutas, como /, /web o /web/order.

Obligatorio: no

Tipo:: String

Valor predeterminado: #: /

tokenRefreshDelaySec

Se utiliza para la actualización en segundo plano. La cantidad máxima de tiempo en segundos entre las actualizaciones del token en segundo plano.

Obligatorio: no

Tipo:: Integer

Valor predeterminado: #: 88

Valor mínimo permitido: 88

Valor máximo permitido: 300 (5 minutos)

Errores del SDK móvil de AWS WAF

En esta sección, se enumeran los posibles errores de la versión actual del SDK móvil de AWS WAF.

SdkError

El tipo de error que se devuelve cuando falla la obtención de un token. Los SDK de Android y iOS tienen los mismos tipos de errores.

El SDK móvil de AWS WAF presenta los siguientes tipos de error:

invalidChallenge

Este error se devuelve cuando el servidor de tokens devuelve datos de desafío no válidos o cuando un atacante altera la respuesta.

errorInvokingGetChallengeEndpoint

Este error se devuelve cuando el servidor de tokens envía un código de respuesta no exitoso al cliente o cuando ocurre un error de red.

invalidVerifyChallengeResponse

Este error se devuelve cuando ocurre un error al obtener el aws-waf-token de la respuesta de verificación del servidor AWS WAF, o cuando la respuesta del servidor fue manipulada.

errorInvokingVerifyEndpoint

Este error se devuelve cuando el cliente recibe una respuesta incorrecta del servidor AWS WAF o cuando ocurre un error de red durante la verificación del desafío resuelto.

internalError

Este error se devuelve ante cualquier otro error que pueda ocurrir dentro del propio SDK.

socketTimeoutException

Este error se devuelve con frecuencia cuando ocurren errores de red durante la obtención del token.

Este error puede deberse a lo siguiente:

  • Bajo ancho de banda de la red: confirme la configuración de conectividad de red.

  • URL de integración de la aplicación modificada: confirme que la URL de integración no esté modificada respecto de lo que aparece en la consola de AWS WAF.