Auth0 limita el uso de los servicios para garantizar un rendimiento óptimo y protegerse frente a , errores técnicos o tráfico legítimo excesivo. Le recomendamos revisar cómo Auth0 aplica estos límites para configurar su aplicación y ofrecer la mejor experiencia de usuario.
Para consultar los límites de tasa asociados a su cuenta, vea Configuraciones de límites de tasa, donde encontrará una matriz con todas las políticas de límites de tasa.
Auth0 establece límites para proteger los servicios frente a un exceso de solicitudes y a los clientes frente a interrupciones o degradación del servicio.Auth0 supervisa y, en muchos casos, impone una serie de límites, entre ellos:
Solicitudes a entornos (solo Private Cloud)
Solicitudes a inquilinos a través de la API o de un endpoint de API
Límites de solicitudes del entorno (solo Private Cloud)
En Private Cloud, los límites de solicitudes del entorno se basan en el nivel de rendimiento de Private Cloud. Para obtener más información, consulta Private Cloud for AWS o Private Cloud for Azure.Actualmente, los límites de tasa del entorno de Private Cloud representan la carga máxima bajo la cual el producto Auth0 cumple los SLA. Sin embargo, por ahora, Auth0 solo aplica estos límites y notifica a los clientes cuando se superan los límites de tasa en un Tenant específico dentro del entorno. En la mayoría de los casos de uso de Private Cloud, donde los clientes mantienen un único Tenant de producción, esto no supone un problema; no obstante, los casos de uso que aprovisionan más de un Tenant de producción deben tener en cuenta la carga esperada de todos los Tenant del entorno e implementar supervisión adicional según sea necesario.
Función
Authentication API
Todas las demás API (incluida Management API)
Límites de tasa del Tenant
Todos los Tenant consumen de un límite global compartido para toda la API en el entorno, pero el límite de tasa del entorno es un tope estricto. Superar el límite del entorno debido a la carga combinada de los Tenant hará que se limite la tasa de las solicitudes excedentes.
Los límites de tasa del Tenant se aplican de forma independiente, y el límite de tasa del entorno actúa como un umbral de posible degradación del rendimiento e impacto en los SLA, pero no provoca directamente la limitación por tasa a nivel de Tenant.
Límite de tasa del entorno superado (ejemplo)
Con un límite de entorno de 1500 rps, Tenant 1 a 1400 rps y Tenant 2 a 900 rps (2300 rps combinados) harán que 800 solicitudes queden sujetas a limitación por tasa.
Con un límite de entorno de 1500 rps, Tenant 1 a 1400 rps y Tenant 2 a 900 rps (2300 rps combinados) no hará que se limite la tasa de Tenant individuales, pero el entorno en su conjunto puede experimentar una degradación del rendimiento y posibles problemas de SLA.
Superar un límite de tasa del entorno invalida el Acuerdo de Nivel de Servicio (SLA).
Auth0 limita el número de solicitudes que se pueden realizar en un inquilino. Estos límites se configuran en función de la API y, adicionalmente, de los endpoints específicos de cada una.
Auth0 limita el número de solicitudes a una API específica, independientemente del endpoint de la API. Los límites de la API pueden variar según:
API
Authentication
Management
Tipo de Tenant (Producción vs. Desarrollo o Staging)
Nivel de suscripción (Free, Essential, Professional, Enterprise Public vs. Private)
Por ejemplo, un Tenant gratuito que no sea de producción puede tener límites distintos de los de un Tenant de producción con una suscripción de pago. Para consultar configuraciones específicas de límites de tasa, consulta Configuraciones de límites de tasa.
Una sola solicitud de un usuario final (p. ej., Login o Signup) suele iniciar varias solicitudes a los endpoints de la API de autenticación. La proporción real entre las solicitudes de usuario final y la API de autenticación depende de varios factores:
Entidad que se autentica (p. ej., máquina o aplicación móvil o de escritorio del usuario final)
Experiencia de autenticación (p. ej., nuevo o Classic Login)
Flujo de autenticación (p. ej., Login, Signup o Change Password)
Tipo de flujo de autenticación (p. ej., Login con username/contraseña; Login mediante inicio de sesión social; Login cuando ya existe un token de autenticación)
Los clientes que usan la extensibilidad podrían agregar aún más solicitudes, no solo a la API de autenticación, sino también a la , según la configuración de extensibilidad.
Consulte Casos de uso de límites de tasa para obtener orientación sobre cómo estimar de qué manera su configuración de Auth0 puede afectar el uso de su API.
Auth0 limita la cantidad de solicitudes enviadas a los endpoints de la API y, en algunos casos, la cantidad de operaciones del endpoint. Los límites de los endpoints de la API también varían según:
API
tipo de inquilino
nivel de suscripción
Por ejemplo, un inquilino gratuito que no es de producción tiene límites distintos de los de un inquilino de producción con una suscripción de pago.
A medida que se envían solicitudes a su Tenant, Auth0 evalúa las solicitudes con respecto al límite global de la API y, a continuación, las evalúa con respecto al límite de solicitudes de endpoints específicos de la API.
Límites de inicio de sesión para conexiones de base de datos
Para las conexiones de base de datos, Auth0 limita ciertos tipos de intentos repetidos de inicio de sesión en función de la cuenta de usuario y la dirección IP. Para proteger la estabilidad general del sistema, Auth0 aplica límites de tasa de usuario/contraseña para mitigar la carga. El alto grado de personalización de Auth0 puede aumentar el riesgo de degradación del servicio. Algunas causas pueden ser:
Pruebas de estrés con alta carga
Pruebas comparativas
Código ineficiente que hace que los usuarios inicien sesión varias veces
Las solicitudes están sujetas a los límites descritos en las políticas individuales de las API de Auth0.Además, existe un límite de tasa para los inicios de sesión del mismo usuario: si una dirección IP realiza 20 intentos de inicio de sesión en un minuto en la misma cuenta de usuario, se aplica el límite. A partir de ese momento, Auth0 permite 10 intentos por minuto para ese usuario. Tanto los intentos de inicio de sesión correctos como los fallidos cuentan para este límite.
Límites de mensajes SMS para la autenticación multifactor (solo usuarios finales)
Si intenta enviar más de 10 mensajes SMS a su dispositivo en el plazo de una hora, recibirá un mensaje de error indicando que se ha superado el límite de tasa.Cuando supere su límite de mensajes, deberá esperar al menos una hora desde la primera solicitud de mensaje antes de solicitar otro. Recibirá un intento adicional por cada hora adicional que transcurra.
Límites del flujo nativo de inicio de sesión social
Los límites aplicados a las solicitudes del flujo nativo de inicio de sesión social se identifican según el cuerpo de la solicitud, con los siguientes criterios iniciales:
La oferta Public Performance Burst es un complemento disponible para suscripciones Enterprise que mejora una implementación existente en Public Cloud. Esta oferta permite aumentar dinámicamente el límite de solicitudes de la Authentication API hasta un multiplicador del límite de solicitudes Enterprise predeterminado de 100 RPS durante un máximo de 48 horas al mes.
Este complemento solo amplía los límites de solicitudes de la Authentication API y NO se aplica a la Management API ni a otros endpoints sujetos a limitación de tasa fuera del alcance de la Authentication API.
Actualmente, hay tres modificadores de Public Performance Burst (2x, 3x y 4x) que permiten 200, 300 y 400 RPS, respectivamente, para la Authentication API durante un máximo de 48 horas al mes. Las 48 horas se contabilizan y descuentan de la cuota mensual permitida en intervalos de 5 minutos, lo que permite usar la API en el nivel del multiplicador durante 576 intervalos de 5 minutos cada mes.Cuando el volumen de solicitudes de la Authentication API supera el valor predeterminado de 100 RPS, se descuenta un intervalo de 5 minutos de la cuota mensual y se permite tráfico a la tasa asociada al multiplicador. El tráfico puede mantenerse dentro del rango del multiplicador durante los 5 minutos continuos completos a partir de ese momento sin generar deducciones adicionales.Es posible supervisar los eventos de deducción de intervalos a través de los registros del Tenant. Cada deducción genera un evento appi asociado en los registros del Tenant, que contiene información sobre la cuota ya consumida y la restante.Para obtener más información, consulte la sección Authentication API en Límites de tasa - Enterprise.
La oferta Private Performance Burst (disponible actualmente en AWS para los niveles 30x y 60x) incluye una capacidad de rendimiento en ráfaga (pico) de hasta 30x (3.000 RPS) o 60x (6.000 RPS) durante un máximo de 80 horas al mes. La capacidad de rendimiento base, que es la mitad de la capacidad de rendimiento en ráfaga, está disponible durante el resto del mes.En otras palabras, Private Performance Burst 30x tiene:
Capacidad base: 1.500 RPS durante todo el mes
Capacidad en ráfaga/pico: 3.000 RPS durante un máximo de 80 horas al mes
Si las transacciones de autenticación superan el límite base de solicitudes a la API, se descuenta una hora de la asignación mensual. A partir de ese momento, el tráfico puede mantenerse en una tasa elevada durante una hora continua completa. Se aplican deducciones adicionales de la misma forma cada vez que se vuelve a superar el umbral.Una vez agotada la asignación de 80 horas, el tráfico de autenticación se limitará a la capacidad base hasta que entre en vigor la nueva asignación mensual.
Para garantizar la disponibilidad del sistema y el uso equitativo de sus recursos, Auth0 limita la cantidad de solicitudes simultáneas en curso en todos los productos de extensibilidad: Actions, Hooks, Rules, conexiones de base de datos personalizadas, extensiones y conexiones OAuth2 personalizadas. Los inquilinos que superen sus límites de solicitudes simultáneas pueden esperar errores en las nuevas solicitudes hasta que se completen las solicitudes en curso. Los límites de concurrencia se definen a continuación:
La concurrencia puede calcularse multiplicando los RPS esperados por la latencia de cada solicitud. Por ejemplo, un inquilino que tiene vinculadas dos Actions de post-login, cada una de las cuales tarda 250 ms, con un total de 400 RPS de inicio de sesión, tiene una concurrencia esperada de (2 * (400 requests / 1 second) * (.25 seconds / 1 request)) = 200.Para asegurarse de que su inquilino no se vea afectado por estos límites de concurrencia, asegúrese de que la lógica de extensibilidad potencialmente de larga duración, como las llamadas a API externas, tenga tiempos de espera razonables.
Auth0 establece límites de tasa y límites de ráfaga para sus API. Mientras que el límite de tasa es la cantidad máxima de tráfico que el sistema puede sostener de forma continua, el límite de ráfaga es el volumen máximo de tráfico a corto plazo que el sistema permite dentro de un intervalo de tiempo. Los límites de tasa y los límites de ráfaga de Auth0 funcionan conjuntamente para ofrecer una mejor limitación en volúmenes de tráfico dinámicos.Los límites de tasa de Auth0 usan un algoritmo de bucket de tokens con las siguientes configuraciones:
Claves de límite:
Normalmente, una clave de límite de tasa se basa en dos factores principales:
API y endpoint
Tipo de Tenant
En algunos casos, los factores adicionales incluyen:
IP de origen
ID del usuario de destino
Valores de límite:
Tamaño del bucket: El número máximo de solicitudes que una API o un endpoint recibe en general, o de un usuario o una dirección IP específicos, antes de que se añadan nuevas solicitudes.
Tasa de reposición: La velocidad a la que se añaden nuevas solicitudes al bucket.
A partir de estos dos valores, Auth0 calcula el límite de ráfaga y el límite de tasa sostenido:
Límite de ráfaga: Igual al tamaño del bucket.
Límite de tasa sostenido: Tasa de reposición en solicitudes por minuto o por segundo.
Si el límite de tasa sostenido se calcula en solicitudes por segundo, las nuevas solicitudes se añaden a intervalos de milisegundos. Si el límite de tasa sostenido se calcula en solicitudes por minuto, las nuevas solicitudes se añaden a intervalos de un segundo.