Décrit la politique d’Auth0 sur les limites de débit.
Auth0 limite l’utilisation de ses services afin d’assurer un rendement optimal et une protection contre les , les erreurs techniques ou un trafic légitime excessif. Nous vous recommandons de consulter la façon dont Auth0 applique ces limites afin de configurer votre application de manière à 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 une matrice de toutes les politiques relatives aux limites de débit.
Auth0 impose des limites afin de protéger les services contre un trop grand nombre de requêtes et les clients contre les interruptions ou la dégradation du service.Auth0 surveille et, dans bien des cas, impose diverses limites, notamment :
Les requêtes adressées aux environnements (Private Cloud Only)
Les requêtes adressées aux locataires au moyen de l’API ou d’un point de terminaison de l’API
Limites de requêtes de l’environnement (Private Cloud seulement)
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 dans Private Cloud correspondent à la charge maximale à laquelle le produit Auth0 respecte les SLA. Cependant, Auth0 n’applique actuellement ces limites et n’avise les clients que lorsque les limites de débit sont dépassées pour un locataire précis dans l’environnement. Dans la plupart des cas d’utilisation de Private Cloud, où les clients maintiennent un seul locataire de production, cela ne pose pas de problème; toutefois, les cas d’utilisation qui provisionnent plus d’un locataire de production devraient tenir compte de la charge prévue de l’ensemble des locataires dans l’environnement et mettre en place une surveillance supplémentaire au besoin.
Fonctionnalité
API d’authentification
Toutes les autres API (y compris l’API de gestion)
Limites de débit des locataires
Tous les locataires 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. Si la limite de l’environnement est dépassée en raison de la charge combinée de plusieurs locataires, les requêtes excédentaires seront limitées.
Les limites de débit des locataires sont appliquées indépendamment, et la limite de débit de l’environnement agit comme un seuil indiquant une dégradation potentielle du rendement et un impact sur les SLA, mais n’entraîne pas directement une limitation de débit au niveau du locataire.
Limite de débit de l’environnement dépassée (exemple)
Avec une limite d’environnement de 1500 rps, le locataire 1 à 1400 rps et le locataire 2 à 900 rps (pour un total combiné de 2300 rps) entraîneront la limitation de 800 requêtes.
Avec une limite d’environnement de 1500 rps, le locataire 1 à 1400 rps et le locataire 2 à 900 rps (pour un total combiné de 2300 rps) n’entraîneront pas une limitation de débit pour chaque locataire, mais l’environnement dans son ensemble pourrait subir une dégradation du rendement et d’éventuels problèmes liés aux SLA.
Le dépassement d’une limite de débit de l’environnement invalide l’entente de niveau de service (SLA).
Auth0 limite le nombre de requêtes pouvant être effectuées sur un locataire. Ces limites sont définies selon l’API, puis plus précisément en fonction des points de terminaison propres à chaque API.
Auth0 limite le nombre de requêtes pouvant être envoyées à une API donnée, peu importe le point de terminaison visé. Les limites de l’API peuvent varier selon :
API
Authentification
Gestion
Type de locataire (Production vs. Development ou Staging)
Niveau d’abonnement (Free, Essential, Professional, Enterprise Public vs. Private)
Par exemple, un locataire gratuit hors production peut avoir des limites différentes de celles d’un locataire de production avec un abonnement payant. Pour connaître les configurations précises des limites de débit, consultez Configurations des limites de débit.
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’API d’authentification. Le ratio réel entre les requêtes des utilisateurs finaux et celles adressées à l’API d’authentification dépend de quelques facteurs :
Entité à authentifier (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., connexion par nom d’utilisateur / mot de passe; connexion par Social Login; connexion lorsqu’un jeton d’authentification existe déjà)
Les clients qui utilisent Extensibility peuvent générer encore plus de requêtes, non seulement vers l’API d’authentification, mais aussi vers la , selon la configuration d’Extensibility.
Consultez Cas d’utilisation des limites 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 pouvant être effectuées sur ces points de terminaison. Les limites des points de terminaison d’API varient aussi selon :
API
Type de locataire
Niveau d’abonnement
Par exemple, un locataire gratuit hors production n’a pas les mêmes limites qu’un locataire de production avec un abonnement payant.
Ordre d’application des limites de requêtes du locataire
À mesure que des requêtes sont envoyées à votre locataire, Auth0 les évalue d’abord en fonction de la limite globale de l’API, puis en fonction de la limite de taux des points de terminaison précis de l’API.
Pour les connexions à la base de données, Auth0 limite certains types de tentatives de connexion répétées selon le compte utilisateur et l’adresse IP. Pour protéger le bon fonctionnement général du système, Auth0 applique des limites de débit par combinaison utilisateur/mot de passe afin d’atténuer la charge. Le niveau élevé de personnalisation offert par Auth0 peut accroître le risque de dégradation du service. Les causes peuvent inclure :
Des tests de charge intense
Des tests de performance
Un code inefficace qui amène les utilisateurs à se connecter plusieurs fois
Les requêtes sont soumises aux limites décrites dans les politiques propres à chaque API Auth0.De plus, il existe une limite de débit des connexions pour un même utilisateur : si une même adresse IP effectue 20 tentatives de connexion en une minute au même compte utilisateur, la limite de débit entre en vigueur. Par la suite, Auth0 autorise 10 tentatives par minute pour cet utilisateur. 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 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 de messages, vous devez attendre au moins une heure après la première demande avant d’en soumettre une autre. Vous aurez droit à une tentative supplémentaire après chaque heure additionnelle écoulée.
Les limites appliquées aux requêtes du flux de connexion sociale native sont définies en fonction du 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’API d’authentification jusqu’à un multiple de la limite de requêtes Enterprise par défaut de 100 RPS, pour un maximum de 48 heures par mois.
Ce module complémentaire étend uniquement les limites de requêtes de l’API d’authentification et ne s’applique PAS à la Management API ni aux autres points de terminaison dont les limites de débit sont imposées hors du cadre de l’API d’authentification.
À l’heure actuelle, il existe trois multiplicateurs Public Performance Burst (2x, 3x et 4x) qui permettent respectivement 200, 300 et 400 RPS pour l’API d’authentification, jusqu’à 48 heures par mois. Les 48 heures sont comptabilisées et déduites du quota mensuel autorisé par tranches d’une minute, ce qui permet d’utiliser l’API au niveau du multiplicateur pendant 2 880 tranches d’une minute chaque mois.Lorsque le volume de requêtes pour l’API d’authentification 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 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 de tranches au moyen des journaux du locataire. Chaque déduction génère un événement de journal de locataire appi associé, qui contient des renseignements sur l’allocation déjà consommée et l’allocation restante.Pour en savoir plus, consultez la section API d’authentification dans Rate Limits - 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 base, qui correspond à la moitié de la capacité en rafale, est disponible pendant le reste du mois.Autrement dit, l’offre 30x Private Performance Burst 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 ensuite demeurer à un niveau élevé pendant toute l’heure continue à partir de ce moment. Des heures supplémentaires sont déduites de la même façon 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 concurrentes en cours pour l’ensemble des produits d’extensibilité : Actions, Hooks, Rules, Custom Database Connections, Extensions et Custom OAuth2 connections. Les locataires qui dépassent leur limite de requêtes concurrentes peuvent 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 locataire avec deux Actions post-login associées, qui prennent chacune 250 ms, et un RPS total de connexion de 400 aura une concurrence prévue de (2 * (400 requests / 1 second) * (.25 seconds / 1 request)) = 200.Pour éviter que votre locataire soit touché par ces limites de concurrence, assurez-vous que toute logique d’extensibilité susceptible de s’exécuter longtemps, comme les appels à des API externes, utilise des délais d’expiration raisonnables.
Auth0 établit des limites de débit et des limites de rafale pour ses API. Alors que la limite de débit correspond au volume maximal de trafic soutenu que le système autorise de façon continue, 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 pour assurer un meilleur contrôle des volumes de trafic dynamiques.Les limites de débit d’Auth0 utilisent un algorithme de seau à jetons comprenant 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 locataire
Dans certains cas, des facteurs supplémentaires comprennent :
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 reçoit généralement, ou qu’il reçoit d’un utilisateur ou d’une adresse IP en particulier, avant que de nouvelles requêtes soient ajoutées.
Taux de remplissage : Le rythme auquel de nouvelles requêtes sont ajoutées au seau.
À partir de ces deux nombres, Auth0 calcule la limite de rafale et la limite de débit soutenu :
Limite de rafale : Égale à la taille du seau.
Limite de débit soutenu : Taux de remplissage en requêtes par minute ou par seconde.
Si la limite de débit soutenu est calculée en requêtes par seconde, de nouvelles requêtes sont ajoutées à l’échelle de la milliseconde. Si la limite de débit soutenu est calculée en requêtes par minute, de nouvelles requêtes sont ajoutées chaque seconde.