Politique d’utilisation équitable de l’API ThingPark
Principes généraux
La politique d’utilisation équitable de l’API ThingPark est principalement conçue pour protéger la sécurité de la plateforme et garantir une utilisation responsable des intégrations. Les utilisateurs reçoivent des identifiants d’accès personnels (clés, jetons, secrets) qu’ils doivent garder confidentiels ; toutes les activités réalisées avec ces identifiants relèvent de leur responsabilité. Le partage, la vente ou le transfert de ces identifiants sans autorisation est strictement interdit.
ThingPark définit des limites d’utilisation afin de prévenir la surcharge, les abus ou tout comportement susceptible de nuire aux performances du service. Les utilisateurs doivent suivre la documentation technique et ne doivent pas accéder à des data non autorisés, contourner les mécanismes de sécurité, altérer le fonctionnement du service, tester les vulnérabilités du système ou générer des volumes de requêtes excessifs.
Les administrateurs de la plateforme surveillent l’utilisation de l’API afin de détecter tout comportement anormal ou non conforme et peuvent restreindre, suspendre ou résilier l’accès si les limites sont dépassées ou en cas de tentative de contournement. Toute information confidentielle obtenue via les API doit être protégée et utilisée uniquement aux fins de construction des intégrations.
Enfin, les utilisateurs doivent s’assurer que leur intégration est conforme aux lois applicables et doivent indemniser ThingPark de tout dommage résultant d’une utilisation non conforme ou abusive de l’API. L’objectif global est de maintenir un environnement sûr, stable et équitable pour tous les utilisateurs.
Limiteur de débit
Les API REST sont protégées par un mécanisme de limitation de débit contre le déluge de requêtes HTTP. Ce mécanisme de limitation de débit utilise l’algorithme leaky bucket décrit dans NGINX Rate Limiting.
Chaque point de terminaison de l’API du plan de contrôle est classé dans l’une des catégories suivantes en fonction de son niveau d’impact sur les ressources système :
HIGHEST_IMPACTHIGH_IMPACTMEDIUM_IMPACTLOW_IMPACT
Le point de terminaison de l’API du plan de data utilisé pour envoyer des trames downlink est classé dans une catégorie dédiée : DL_IMPACT.
La catégorie d'un point de terminaison est documentée dans le contrat OpenAPI à l'aide de l'extension vendeur x-rateLimit dans les paramètres d'opération. Par défaut, la catégorie est
LOW_IMPACT. Par conséquent, l’extension fournisseur x-rateLimit n’est spécifiée que pour les autres catégories.
paths:
/customers:
get:
...
x-rateLimit:
category: MEDIUM_IMPACT
Chaque catégorie est associée à :
- Limite globale : Un taux maximum de requêtes/s soutenu par le système sans considération pour l'adresse IP source et sans considération pour le domaine ciblé
- Limite IP source : Un taux maximum de requêtes/s autorisé pour une adresse IP source donnée
Lorsqu'une limite est atteinte, soit globale, soit pour l'IP source, la requête HTTP est rejetée avec une réponse 429 Too Many Requests.
La configuration suivante est définie par défaut pour la limite IP source :
| Catégorie | Limite IP source |
|---|---|
HIGHEST_IMPACT | 2 r/s (burst 6) |
HIGH_IMPACT | 4 r/s (burst 6) |
MEDIUM_IMPACT | 6 r/s (burst 18) |
LOW_IMPACT | 20 r/s (burst 80) |
DL_IMPACT | 3 r/s (burst 15) |