Présente la politique de limitation du débit d’Auth0.
Auth0 limite l’utilisation de ses services afin d’assurer un rendement optimal et de se protéger contre les , les erreurs techniques ou un trafic légitime excessif. Nous vous recommandons d’examiner 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 des limites de débit, qui présente un tableau de toutes les politiques de limitation du débit.
Auth0 impose des limites afin de protéger les services contre un trop grand nombre de requêtes et de protéger les clients contre les interruptions ou la dégradation du service.Auth0 surveille et, dans bien des cas, applique un ensemble de limites, notamment :
Requêtes vers les environnements (Private Cloud uniquement)
Requêtes vers les tenants par API ou 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 for AWS ou Private Cloud for Azure.À l’heure actuelle, les limites de débit de l’environnement Private Cloud correspondent à la charge maximale sous laquelle le produit Auth0 respectera les SLA. Toutefois, 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 où plus d’un tenant de production est approvisionné doivent 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 la Management API)
Limites de débit du tenant
Tous les tenants utilisent une limite globale partagée à l’échelle de l’environnement pour l’API, mais la limite de débit de l’environnement constitue un plafond absolu. Si la limite de l’environnement est dépassée en raison de la charge combinée de plusieurs tenants, les requêtes excédentaires feront l’objet d’une limitation du débit.
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 un risque de dégradation des performances et de répercussions sur les SLA, mais n’entraîne pas directement de limitation du 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, le Tenant 1 à 1400 rps et le Tenant 2 à 900 rps (pour un total de 2300 rps) feront en sorte que 800 requêtes soient limitées.
Avec une limite d’environnement de 1500 rps, le Tenant 1 à 1400 rps et le Tenant 2 à 900 rps (pour un total de 2300 rps) n’entraîneront pas de limitation du débit pour les tenants individuels, mais l’environnement dans son ensemble pourrait subir une dégradation des performances et d’éventuels problèmes liés aux SLA.
Le dépassement d’une limite de débit de l’environnement annule 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 des points de terminaison spécifiques de chaque API.
Auth0 limite le nombre de requêtes pour une API donnée, quel que soit le point de terminaison de l’API. 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 gratuit hors production peut 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 débit, consultez Rate Limit Configurations.
Une seule requête d’un utilisateur final (p. ex., Login ou Signup) entraîne 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 plusieurs facteurs :
Entité authentifiée (p. ex., machine, ou Application mobile ou de bureau d’un utilisateur final)
Expérience d’authentication (p. ex., nouveau ou Classic Login)
Authentication Flow (p. ex., Login, Signup ou Change Password)
Type d’Authentication Flow (p. ex., Login avec username / Password; Login avec Social login; Login lorsqu’un token d’authentication existe déjà)
Les clients qui utilisent extensibilité pourraient ajouter encore plus de requêtes, non seulement à l’Authentication API, mais aussi à la , selon la Configuration d’extensibilité.
Consultez Rate Limit Use Cases 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 en fonction des éléments suivants :
API
Type de tenant
Niveau d’abonnement
Par exemple, un tenant Free de non-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
Au fur et à mesure que des requêtes sont envoyées à votre tenant, Auth0 les évalue d’abord par rapport à la limite globale de l’API, puis par rapport à la limite de requêtes 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 le bon fonctionnement global du système, Auth0 applique des limites de débit par utilisateur/mot de passe afin de réduire la charge. Le haut niveau de personnalisation d’Auth0 peut entraîner un risque de dégradation du service. Les causes peuvent notamment inclure :
Des tests de résistance à forte charge
Des tests de performance
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 à chaque API Auth0.De plus, il existe une limite de débit pour les connexions visant un même utilisateur : si une adresse IP effectue 20 tentatives de connexion en une minute pour le même compte d’utilisateur, la limite de débit entre en vigueur. Après cela, Auth0 autorise 10 tentatives par minute pour cet utilisateur. Toute combinaison de tentatives de connexion réussies ou é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 au cours d’une heure, vous recevrez un message d’erreur indiquant que la limite de débit a été dépassée.Lorsque vous dépassez votre limite d’envoi de messages, vous devez attendre au moins une heure après la première demande d’envoi avant d’en demander un autre. Vous pourrez faire une tentative supplémentaire après chaque heure additionnelle écoulée.
Les limites applicables 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 dont les limites de débit sont imposées en dehors du périmètre 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 intervalles de 5 minutes, ce qui permet d’utiliser l’API au niveau du multiple pendant 576 intervalles de 5 minutes chaque mois.Lorsque le volume de requêtes vers l’Authentication API dépasse la valeur par défaut de 100 RPS, un intervalle de 5 minutes est déduit de l’allocation mensuelle, et le trafic est autorisé au taux associé au multiple. Le trafic peut rester dans la plage du multiple pendant les 5 minutes consécutives complètes à partir de ce moment, sans entraîner de déductions supplémentaires.Il est possible de surveiller les événements de déduction d’intervalle au moyen des journaux du tenant. Chaque déduction génère un type de tenant log event 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 Limites de débit - Enterprise.
L’offre Private Performance Burst (actuellement offerte sur AWS pour les niveaux 30x et 60x) comprend une capacité de performance en rafale (de pointe) allant jusqu’à 30x (3 000 RPS) ou 60x (6 000 RPS) pendant un maximum de 80 heures par mois. La capacité de performance de base, qui correspond à la moitié de la capacité en rafale, est disponible pendant le reste du mois.Autrement dit, 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 rester à ce débit élevé pendant toute l’heure continue qui suit. Des déductions supplémentaires sont effectuées de la même manière chaque fois que le seuil est franchi 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.
Afin d’assurer la disponibilité du système et une utilisation équitable de ses ressources, Auth0 limite le nombre de requêtes simultanées en cours d’exécution dans l’ensemble des produits d’extensibilité : Actions, Hooks, Rules, Custom Database Connections, Extensions et connexions OAuth2 personnalisées. Les tenants qui dépassent leurs limites de requêtes simultanées doivent s’attendre à recevoir des erreurs pour les nouvelles requêtes jusqu’à ce que les requêtes en cours soient 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 Actions post-login associées, qui prennent chacune 250 ms, avec un RPS total de connexion de 400, aura une concurrence prévue de (2 * (400 requêtes / 1 seconde) * (0,25 seconde / 1 requête)) = 200.Pour vous assurer que votre tenant n’est pas touché par ces limites de concurrence, veillez à ce que la logique d’extensibilité susceptible de s’exécuter plus longtemps, comme les appels à des API externes, ait des délais d’expiration raisonnables.
Auth0 définit des limites de débit et des limites de rafale pour ses API. La limite de débit correspond au volume maximal de trafic soutenu que le système autorise à long terme, tandis que la limite de rafale correspond au volume maximal de trafic à court terme que le système autorise pendant un intervalle donné. Les limites de débit et les limites de rafale d’Auth0 fonctionnent ensemble pour offrir un meilleur contrôle des volumes de trafic variables.Les limites de débit d’Auth0 reposent sur un algorithme de bucket à jetons comportant les configurations suivantes :
Clés de limite :
En général, une clé de limite de débit repose sur deux facteurs principaux :
API et point de terminaison
Type de tenant
Dans certains cas, d’autres facteurs s’ajoutent :
IP source
ID de l’utilisateur cible
Valeurs de limite :
Taille du bucket : Le nombre maximal de requêtes qu’une API ou un point de terminaison peut recevoir de façon générale, ou d’un utilisateur ou d’une adresse IP en particulier, avant l’ajout de nouvelles requêtes.
Taux de remplissage : Le rythme auquel de nouvelles requêtes sont ajoutées au bucket.
À 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 bucket.
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.