Parcourir la documentation

Sécuriser vos clés

Une clé est un identifiant de connexion. Quatre réglages bornent ce qu'une clé fuitée permettrait.

Restriction de services

Par défaut une clé atteint tous les services du compte. Vous pouvez lui donner une liste explicite.

RestrictionDétail
Maximum200 services par clé
Hors liste404 SERVICE_NOT_FOUND, la même réponse que pour un service d'un autre compte
Où la lireGET /mekey.allServices (booléen) et key.serviceCodes (tableau de codes, vide quand allServices vaut true)

Une clé restreinte ne liste que ses services dans GET /services.

Liste d'adresses autorisées

ListeDétail
Format d'une règleune adresse IPv4 ou IPv6 littérale (203.0.113.7, 2a01:e0a::1) ou un bloc CIDR (203.0.113.0/24)
Longueur d'une règle64 caractères au plus
Maximum32 règles par clé
Videtoute adresse est acceptée
Refusé à l'enregistrementun préfixe /0, un index de zone (fe80::1%eth0), un nom de domaine. Les noms ne sont jamais résolus
Hors liste403 API_KEY_IP_NOT_ALLOWED, journalisé sur la clé, plus un e-mail au titulaire (au plus un par jour et par clé)
Où la lireGET /mekey.ipAllowlist

Expiration

ExpirationDétail
Typehorodatage en millisecondes epoch, ou null pour une clé sans expiration
Où la lireGET /mekey.expiresAt
Après403 API_KEY_EXPIRED
Avisun e-mail sept jours avant

Une clé expirée ne peut pas être renouvelée. Créez-en une nouvelle.

Plafond de dépense

Obligatoire dès que la clé porte billing.saved_methods:charge.

PlafondDétail
Unitécentimes
Bornes1 € à 10 000 €, 100 € par défaut
Fenêtre30 jours glissants
Compteles débits de moyens enregistrés déclenchés par cette clé, y compris ceux d'un renouvellement
Ne compte pasles paiements par solde prépayé
Dépassement403 API_KEY_SPENDING_CAP_EXCEEDED, avant tout appel au prestataire de paiement
Où le lireGET /me ou GET /me/keykey.spendingCapCents et key.spendingRemainingCents

Habitudes

  • Une clé par intégration, nommée d'après elle.
  • Uniquement les permissions dont l'intégration se sert.
  • La restriction de services dès que la clé n'en touche qu'un.
  • La liste d'adresses dès que la machine appelante a une adresse fixe.
  • Une expiration quand l'usage est daté.
  • billing.saved_methods:charge seulement là où il faut débiter, avec un plafond à la mesure de la tâche.
  • Le secret dans une variable d'environnement, un gestionnaire de secrets ou un fichier lisible par le seul compte de service. Jamais dans un dépôt, une image Docker, une application côté client ou une messagerie.
  • Jamais dans une URL : l'API refuse ce cas avec 400 API_KEY_IN_QUERY, mais l'URL est déjà passée dans les journaux du proxy.
  • Un renouvellement périodique si votre politique l'impose : mêmes réglages, ancien secret tué au même instant.

Si une clé fuite

  1. Révoquez-la dans Compte > Clés d'API, ou renouvelez-la si l'intégration doit continuer à tourner. Effet à l'appel suivant.
  2. Lisez son journal des requêtes : 30 jours de routes, statuts, adresses et X-Request-Id.
  3. Vérifiez sa portée : sa liste de services, ses permissions, son plafond. Une clé sans billing.saved_methods:charge n'a débité aucun moyen de paiement.
  4. Relisez les commandes et les paiements récents dans le tableau de bord.
  5. Écrivez au support avec les X-Request-Id concernés.

Le support ne demande jamais un secret de clé, et ne peut pas en relire un.