Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Dimensions de la limite de débit
Les clés de dimension déterminent la manière dont la passerelle regroupe le trafic dans des compartiments de limite de débit. Chaque clé de dimension fait référence à une valeur issue du contexte de la demande. La passerelle résout ces valeurs lors de l'exécution pour trouver l'entrée de limite de débit correspondante.
Dimensions prises en charge
| Clé Dimension | Description | Exemple de valeur |
|---|---|---|
|
|
Le nom de la cible invoquée. Résolu à partir du chemin de la demande. |
|
|
|
Le nom complet de l'outil invoqué, au format |
|
|
|
L'identifiant de modèle complet pour les cibles d'inférence. |
|
|
|
Une réclamation extraite du jeton JWT de l'appelant. |
|
|
|
L'ARN principal IAM de l'appelant. |
|
|
|
L'identité de source définie par l'appelant lorsqu'il assume un rôle. |
|
La valeur par défaut (*)
Les entrées de limite de débit prennent en charge la valeur spéciale * en tant que valeur par défaut fourre-tout pour une dimension.
-
Une entrée avec
*pour une dimension signifie « appliquer ce taux à toutes les valeurs de cette dimension ». -
S'il existe une entrée plus spécifique pour la valeur réelle, l'entrée spécifique a la priorité (le match le plus spécifique gagne).
-
*crée des tranches indépendantes par entité : chaque valeur distincte qui correspond obtient sa propre tranche tarifaire au taux configuré.
Trailing-only contrainte pour les limites de débit multidimensionnelles :
Lorsqu'une limite de débit comporte plusieurs touches de dimension, elle ne
peut apparaître qu'en position finale. Si vous utilisez à la position N, toutes les positions suivantes doivent également l'être*.
Par exemple, avec dimensionKeys: ["targetName", "toolName", "$.context.jwt.sub"] :
| Dimensions d'entrée | Valide | Pourquoi |
|---|---|---|
|
|
Oui |
Toutes les positions sont des valeurs spécifiques. |
|
|
Oui |
Seule la dernière position l'est |
|
|
Oui |
Les positions de queue sont |
|
|
Oui |
Toutes les positions le sont |
|
|
Non |
|
|
|
Non |
|
|
|
Non |
|
Comment fonctionne l'appariement :
Lorsqu'une demande arrive, la passerelle résout les valeurs de dimension réelles et recherche l'entrée correspondante la plus spécifique. Par exemple, si les valeurs résolues sont["target1", "readData", "alice"], la passerelle vérifie les entrées dans cet ordre :
-
["target1", "readData", "alice"]— correspondance exacte (la plus spécifique) -
["target1", "readData", "*"]— la dernière dimension utilise la valeur par défaut -
["target1", "*", "*"]— les deux dernières dimensions utilisent la valeur par défaut -
["*", "*", "*"]— entièrement par défaut (le moins spécifique)
Le premier match est gagné.
Astuce
Utilisez des entrées spécifiques pour les entités connues à valeur élevée ou soumises à des restrictions, et des * entrées comme niveaux de taux par défaut pour tout le reste.
Comportement de résolution des dimensions
Lorsque la passerelle évalue une limite de débit, elle résout chaque clé de dimension à partir du contexte de la demande :
-
Si une clé de dimension ne peut pas être résolue à partir de la demande (par exemple,
toolNamesur une demande non liée à un outil ou sur une réclamation JWT qui n'existe pas), la passerelle ignore complètement cette limite de débit. La demande n'est pas limitée par cette limite de débit. -
Seul le contexte validé est utilisé pour la résolution. Les revendications JWT sont extraites de jetons qui ont été validés par la configuration d'authentification de la passerelle. Le contexte IAM n'est disponible que pour les SigV4-authenticated demandes.
Limites partagées et limites individuelles
La combinaison des clés de dimension et des valeurs d'entrée détermine si le trafic partage une seule tranche tarifaire ou si chaque entité obtient sa propre tranche indépendante.
| Clés de dimensions | Dimensions d'entrée | Comportement |
|---|---|---|
|
|
|
Tout le trafic vers |
|
|
|
Chaque cible obtient son propre compartiment indépendant à ce taux (par entité). |
|
|
|
Chaque appelant reçoit son propre compartiment (limite individuelle par appelant). |
|
|
|
Chaque appelant reçoit son propre compartiment, défini à. |
|
|
|
Chaque combinaison unique de cible et d'appelant dispose de son propre compartiment. |
Avertissement
Évitez d'utiliser des revendications JWT à cardinalité élevée ou illimitées comme clés de dimension (par exemple, $.context.jwt.jti$.context.jwt.nonce, ou ID de demande). Cela crée un nombre illimité de tranches tarifaires, ce qui peut réduire l'efficacité de la limitation des taux. Utilisez des identifiants stables et limités tels que subteam, ou tier instead.