Décrit la politique de limitation du débit d’Auth0.
Auth0 limite l’utilisation de ses services afin d’assurer des performances optimales et de se protéger contre les , les erreurs techniques ou un volume excessif de trafic légitime. Nous vous recommandons de passer en revue la façon dont Auth0 applique ces limites afin de configurer votre application pour offrir la meilleure expérience utilisateur possible.
Pour connaître les limites de débit associées à votre compte, consultez Configurations de limitation du débit pour voir une matrice de toutes les politiques de limitation du débit.
Auth0 applique des limites pour protéger ses services contre un trop grand nombre de requêtes et éviter aux clients des interruptions ou une dégradation du service.Auth0 surveille et, dans bien des cas, impose différentes limites, notamment :
Requêtes aux environnements (Private Cloud uniquement)
Requêtes aux tenants par API ou par point de terminaison d’API
Limites de requêtes de l’environnement (Private Cloud uniquement)
Dans Private Cloud, les limites de requêtes de l’environnement sont établies en fonction du niveau de performance de Private Cloud. Pour en savoir plus, consultez Private Cloud on AWS ou Private Cloud on Azure.À l’heure actuelle, les limites de débit de l’environnement dans Private Cloud correspondent à la charge maximale sous laquelle le produit Auth0 respecte les SLA. Cependant, pour le moment, Auth0 n’applique ces limites et n’avise les clients que lorsque les limites de débit sont dépassées pour un tenant précis dans l’environnement. Dans la plupart des cas d’utilisation de Private Cloud, où les clients maintiennent un seul tenant de production, cela ne pose pas de problème; toutefois, les cas d’utilisation qui provisionnent plus d’un tenant de production devraient tenir compte de la charge prévue pour l’ensemble des tenants de l’environnement et mettre en place une surveillance supplémentaire au besoin.
Fonctionnalité
Authentication API
Toutes les autres API (y compris Management API)
Limites de débit du tenant
Tous les tenants puisent dans une limite globale commune à l’échelle de l’environnement pour l’API, mais la limite de débit de l’environnement constitue un plafond strict. Le dépassement de la limite de l’environnement en raison de la charge combinée des tenants entraînera une limitation de débit des requêtes excédentaires.
Les limites de débit du tenant sont appliquées indépendamment, et la limite de débit de l’environnement sert de seuil indiquant une dégradation possible du rendement et un impact potentiel sur les SLA, mais n’entraîne pas directement une limitation de débit au niveau du tenant.
Limite de débit de l’environnement dépassée (exemple)
Avec une limite d’environnement de 1500 rps, un tenant 1 à 1400 rps et un tenant 2 à 900 rps (pour un total combiné de 2300 rps) entraîneront la limitation de débit de 800 requêtes.
Avec une limite d’environnement de 1500 rps, un tenant 1 à 1400 rps et un tenant 2 à 900 rps (pour un total combiné de 2300 rps) n’entraîneront pas de limitation de débit pour les tenants individuels, mais l’environnement dans son ensemble pourrait subir une baisse de rendement et d’éventuels problèmes liés aux SLA.
Le dépassement d’une limite de débit de l’environnement invalide l’accord de niveau de service (SLA).
Auth0 limite le nombre de requêtes pouvant être effectuées pour un tenant. Ces limites sont configurées selon l’API, puis plus précisément selon les points de terminaison spécifiques de chaque API.
Auth0 limite le nombre de requêtes vers une API donnée, peu importe l’API point de terminaison. Les limites de l’API peuvent varier selon :
API
Authentification
Management
Type de tenant (Production vs. développement ou staging)
Niveau d’abonnement (Free, Essential, Professional, Enterprise Public vs. Private)
Par exemple, un tenant Free en environnement non productif pourrait avoir des limites différentes de celles d’un tenant de production avec un abonnement payant. Pour connaître les configurations précises des limites de requêtes, consultez Rate Limit Configurations.
Une seule requête d’un utilisateur final (p. ex., Login ou Signup) déclenche généralement plusieurs requêtes vers les points de terminaison de l’Authentication API. Le ratio réel entre les requêtes des utilisateurs finaux et celles de l’Authentication API dépend de quelques facteurs :
Entité en cours d’authentification (p. ex., machine ou application mobile ou de bureau d’utilisateur final)
Expérience d’authentification (p. ex., nouveau ou Classic Login)
Flux d’authentification (p. ex., Login, Signup ou Change Password)
Type de flux d’authentification (p. ex., Login avec nom d’utilisateur / Password; Login via Social Login; Login lorsqu’un token d’authentification existe déjà)
Les clients qui utilisent l’Extensibility pourraient ajouter encore plus de requêtes, non seulement à l’Authentication API, mais aussi à la , selon la configuration d’Extensibility.
Consultez Cas d’utilisation liés à la limite de débit pour savoir comment estimer l’incidence de votre configuration Auth0 sur votre utilisation de l’API.
Auth0 limite le nombre de requêtes envoyées aux points de terminaison d’API et, dans certains cas, le nombre d’opérations sur les points de terminaison. Les limites des points de terminaison d’API varient aussi selon :
l’API
le type de tenant
le niveau d’abonnement
Par exemple, un tenant Free hors production n’a pas les mêmes limites qu’un tenant de production avec un abonnement payant.
Ordre d’application des limites de requêtes du tenant
À mesure que votre tenant reçoit des requêtes, Auth0 compare d’abord les requêtes à la limite globale de l’API, puis à la limite de débit de points de terminaison d’API précis.
Limites de connexion pour les connexions de base de données
Pour les connexions de base de données, Auth0 limite certains types de tentatives de connexion répétées en fonction du compte d’utilisateur et de l’adresse IP. Pour protéger la santé globale du système, Auth0 applique des limites de débit sur les combinaisons utilisateur/mot de passe afin d’atténuer la charge. Le haut degré de personnalisation d’Auth0 peut nous exposer à un risque de dégradation du service. Les causes peuvent inclure :
Des tests de charge intensifs
Des tests de performance comparative
Du code inefficace qui amène les utilisateurs à se connecter plusieurs fois
Les requêtes sont soumises à des limites, comme indiqué dans les politiques propres aux API Auth0.De plus, une limite de débit s’applique aux connexions d’un même utilisateur : si une adresse IP effectue 20 tentatives de connexion en une minute sur le même compte d’utilisateur, la limite de débit entre en vigueur. Par la suite, Auth0 permet à l’utilisateur 10 tentatives par minute. Toute combinaison de tentatives de connexion réussies et échouées compte dans cette limite.
Limites des messages SMS pour l’authentification multifacteur (utilisateurs finaux seulement)
Si vous tentez d’envoyer plus de 10 messages SMS à votre appareil en l’espace d’une heure, vous recevrez un message d’erreur indiquant que la limite a été atteinte.Lorsque vous dépassez votre limite de messages, vous devez attendre au moins une heure après la première demande de message avant d’en demander un autre. Une tentative supplémentaire vous sera accordée après chaque heure additionnelle écoulée.
Les limites appliquées aux requêtes du flux de connexion sociale native sont déterminées d’après le corps des requêtes, selon les critères initiaux suivants :
L’offre Public Performance Burst est un module complémentaire offert avec les abonnements Enterprise qui bonifie un déploiement Public Cloud existant. Cette offre permet d’augmenter dynamiquement la limite de requêtes de l’Authentication API jusqu’à un multiple de la limite de requêtes Enterprise par défaut de 100 RPS, pendant un maximum de 48 heures par mois.
Ce module complémentaire étend uniquement les limites de requêtes de l’Authentication API et ne s’applique PAS à la Management API ni aux autres points de terminaison soumis à des limites de débit en dehors du cadre de l’Authentication API.
À l’heure actuelle, il existe trois modificateurs Public Performance Burst (2x, 3x et 4x), qui permettent respectivement 200, 300 et 400 RPS pour l’Authentication API pendant un maximum de 48 heures par mois. Les 48 heures sont comptabilisées et déduites du quota mensuel autorisé par tranches de 5 minutes, ce qui permet d’utiliser l’API au niveau du multiplicateur pendant 576 tranches de 5 minutes chaque mois.Lorsque le volume de requêtes pour l’Authentication API dépasse la valeur par défaut de 100 RPS, une tranche de 5 minutes est déduite de l’allocation mensuelle, et le trafic est autorisé au débit associé au multiplicateur. Le trafic peut demeurer dans la plage du multiplicateur pendant toute la tranche continue de 5 minutes à partir de ce moment, sans entraîner de déductions supplémentaires.Il est possible de suivre les événements de déduction de tranche au moyen des journaux du tenant. Chaque déduction génère un type d’événement de journal du tenant appi associé contenant de l’information sur l’allocation déjà consommée et celle qui reste.Pour en savoir plus, consultez la section Authentication API dans Rate Limits - Enterprise.
L’offre Private Performance Burst (actuellement offerte sur AWS pour les niveaux 30x et 60x) comprend une capacité de pointe (en rafale) allant jusqu’à 30x (3 000 RPS) ou 60x (6 000 RPS) pendant un maximum de 80 heures par mois. La capacité de base, qui correspond à la moitié de la capacité en rafale, est offerte pendant le reste du mois.Autrement dit, l’offre Private Performance Burst 30x comprend :
Capacité de base : 1 500 RPS pour tout le mois
Capacité en rafale/de pointe : 3 000 RPS pendant un maximum de 80 heures par mois
Si les transactions d’authentification dépassent la limite de base des requêtes API, une heure est déduite de l’allocation mensuelle. Le trafic peut alors demeurer à un débit élevé pendant l’heure continue complète à partir de ce moment. Des déductions additionnelles sont effectuées de la même façon chaque fois que le seuil est dépassé de nouveau.Une fois l’allocation de 80 heures épuisée, le trafic d’authentification sera limité à la capacité de base jusqu’à l’entrée en vigueur de la nouvelle allocation mensuelle.
Pour assurer la disponibilité du système et une utilisation équitable de ses ressources, Auth0 limite le nombre de requêtes simultanées en cours pour tous les produits d’extensibilité : Actions, Hooks, Rules, Custom Database Connections, Extensions et les connexions OAuth2 personnalisées. Les tenants qui dépassent leur limite de requêtes simultanées doivent s’attendre à des erreurs pour les nouvelles requêtes tant que les requêtes en cours ne sont pas terminées. Les limites de concurrence sont définies ci-dessous :
La concurrence peut être calculée en multipliant le RPS prévu par la latence de chaque requête. Par exemple, un tenant qui a deux post-login Actions associées, prenant chacune 250ms, avec un RPS de connexion total de 400, aura une concurrence attendue de (2 * (400 requêtes / 1 seconde) * (.25 secondes / 1 requête)) = 200.Pour éviter que votre tenant soit touché par ces limites de concurrence, assurez-vous que la logique d’extensibilité susceptible de s’exécuter longtemps, comme les appels à des API externes, utilise des délais d’expiration raisonnables.
Auth0 applique des limites de débit et des limites de rafale à ses API. La limite de débit correspond au volume maximal de trafic soutenu que le système autorise dans la durée, tandis que la limite de rafale correspond au volume maximal de trafic à court terme que le système autorise pendant un intervalle de temps donné. Les limites de débit et les limites de rafale d’Auth0 fonctionnent ensemble afin d’offrir un meilleur mécanisme de limitation pour des volumes de trafic variables.Les limites de débit d’Auth0 utilisent un algorithme de seau à jetons comportant les configurations suivantes :
Clés de limite :
En règle générale, une clé de limite de débit repose sur deux facteurs principaux :
API et point de terminaison
Type de tenant
Dans certains cas, des facteurs supplémentaires s’ajoutent :
IP source
ID de l’utilisateur cible
Valeurs de limite :
Taille du seau : Le nombre maximal de requêtes qu’une API ou un point de terminaison peut recevoir en général, ou d’un utilisateur précis ou d’une adresse IP précise, avant l’ajout de nouvelles requêtes.
Taux de remplissage : La cadence à laquelle de nouvelles requêtes sont ajoutées au seau.
À partir de ces deux valeurs, Auth0 calcule la limite de rafale et la limite de débit soutenue :
Limite de rafale : Égale à la taille du seau.
Limite de débit soutenue : Taux de remplissage en requêtes par minute ou par seconde.
Si la limite de débit soutenue est calculée en requêtes par seconde, de nouvelles requêtes sont ajoutées à la milliseconde. Si la limite de débit soutenue est calculée en requêtes par minute, de nouvelles requêtes sont ajoutées chaque seconde.