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 trafic légitime excessif. Nous vous recommandons de consulter 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 une matrice de toutes les politiques de limite de débit.
Auth0 applique des limites pour protéger les services contre les requêtes excessives et les clients contre les interruptions de service ou la dégradation des performances.Auth0 tient compte de plusieurs limites et, dans de nombreux cas, les applique, notamment :
Requêtes vers les environnements (Private Cloud uniquement)
Requêtes vers les locataires par l’intermédiaire de l’API ou d’un 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 déterminées 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 respecte les SLA. Cependant, Auth0 applique actuellement ces limites et avise les clients uniquement lorsqu’elles 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 n’ont qu’un seul locataire de production, cela ne pose pas de problème; toutefois, les cas où plus d’un locataire de production est provisionné devraient tenir compte de la charge prévue pour l’ensemble des locataires 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 des locataires
Tous les locataires consomment à partir d’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 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 un risque de dégradation des performances et d’impact sur les SLA, mais n’entraîne pas directement de limitation de débit au niveau du locataire.
Dépassement de la limite de débit de l’environnement (exemple)
Avec une limite d’environnement de 1500 rps, un locataire 1 à 1400 rps et un locataire 2 à 900 rps (pour un total de 2300 rps) entraîneront la limitation de débit de 800 requêtes.
Avec une limite d’environnement de 1500 rps, un locataire 1 à 1400 rps et un locataire 2 à 900 rps (pour un total de 2300 rps) n’entraîneront pas de limitation de débit pour les locataires individuels, mais l’environnement global pourrait subir une baisse de performance et des problèmes potentiels 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 locataire. Ces limites sont définies selon l’API, puis plus précisément selon les points de terminaison de chaque API.
Auth0 limite le nombre de requêtes à une API donnée, quel que soit le point de terminaison de l’API. Les limites de l’API peuvent varier selon les éléments suivants :
API
Authentication
Management
Type de locataire (production ou développement/préproduction)
Niveau d’abonnement (Free, Essential, Professional, Enterprise Public ou Private)
Par exemple, un locataire gratuit hors production peut avoir des limites différentes de celles d’un locataire de production assorti d’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., connexion ou inscription) 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 adressées à 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’authentification (p. ex., nouvelle expérience ou Classic Login)
Flux d’authentification (p. ex., connexion, inscription ou changement de mot de passe)
Type de flux d’authentification (p. ex., connexion par nom d’utilisateur / mot de passe; connexion par authentification sociale; connexion lorsqu’un jeton d’authentification existe déjà)
Les clients qui utilisent l’extensibilité peuvent ajouter encore plus de requêtes, non seulement à l’Authentication API, mais aussi à la , selon la configuration de l’extensibilité.
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 de l’API et, dans certains cas, le nombre d’opérations effectuées sur ces points de terminaison. Les limites des points de terminaison de l’API varient aussi selon :
l’API
le type de locataire
le niveau d’abonnement
Par exemple, un locataire gratuit hors production a des limites différentes de celles d’un locataire de production avec un abonnement payant.
Ordre d’application des limites de requêtes du locataire
Lorsque 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 débit propre à certains points de terminaison de l’API.
Pour les connexions de base de données, Auth0 limite certains types de tentatives de connexion répétées en fonction du compte utilisateur et de l’adresse IP. Pour préserver la santé globale du système, Auth0 applique des limites de débit par utilisateur/mot de passe afin d’atténuer la charge. Le niveau élevé de personnalisation d’Auth0 peut accroître le 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 aux limites décrites dans les politiques propres à chaque API Auth0.De plus, il existe une limite de débit pour les connexions d’un même utilisateur : si une adresse IP effectue 20 tentatives de connexion en une minute sur le même compte utilisateur, la limite de débit entre en vigueur. Par la suite, Auth0 n’autorise que 10 tentatives par minute pour cet utilisateur. Toute combinaison de tentatives de connexion réussies ou échouées est comptabilisée dans cette limite.
Limites de 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 qu’une 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 d’envoi avant d’en faire une autre. Une tentative supplémentaire vous sera accordée à 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 de façon dynamique la limite de requêtes de l’Authentication API jusqu’à un multiple de la limite par défaut Enterprise 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 multiplicateurs 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 taux 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 du quota mensuel, 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 des tranches au moyen des journaux du locataire. Chaque déduction génère un événement de type appi dans les journaux du locataire, qui contient de l’information sur le quota déjà consommé et le quota restant.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 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é de performance en rafale, est disponible pendant le reste du mois.Autrement dit, l’offre Private Performance Burst 30x comprend :
Capacité de base : 1,500 RPS pour le mois complet
Capacité en rafale/de pointe : 3,000 RPS pendant un maximum de 80 heures par mois
Si les transactions d’authentification dépassent en rafale la limite de base des requêtes API, une heure est déduite de l’allocation mensuelle. Le trafic peut alors rester à un débit élevé pendant l’heure consécutive complète à partir de ce moment. Des déductions supplémentaires sont effectuées de la même manière chaque fois que le seuil est de nouveau franchi.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 garantir la disponibilité du système et une utilisation équitable de ses ressources, Auth0 limite le nombre de requêtes simultanées en cours pour l’ensemble des produits d’extensibilité : Actions, Hooks, Rules, les connexions de base de données personnalisées, Extensions et les connexions OAuth2 personnalisées. Les locataires qui dépassent leur limite de requêtes simultanées 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 250ms, et un taux total de connexions de 400 RPS, aura une concurrence prévue de (2 * (400 requests / 1 second) * (.25 seconds / 1 request)) = 200.Pour vous assurer que votre locataire n’est pas touché par ces limites de concurrence, veillez à ce que toute logique d’extensibilité susceptible de s’exécuter longtemps, comme les appels à des API externes, soit assortie de délais d’expiration raisonnables.
Auth0 définit 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 offrir une meilleure capacité de limitation pour des volumes de trafic dynamiques.Les limites de débit d’Auth0 utilisent un algorithme du 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 :
Adresse 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 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 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, les nouvelles requêtes sont ajoutées à la milliseconde. Si la limite de débit soutenue est calculée en requêtes par minute, les nouvelles requêtes sont ajoutées chaque seconde.