Comment faire pivoter une clé API ?

Dernière mise à jour: il y a 3 mois

Faire pivoter régulièrement les clés API est une pratique de sécurité importante. Voici comment faire pivoter vos clés en toute sécurité sans perturber votre service.

Pourquoi faire pivoter les clés API ?

  • Bonne pratique de sécurité : Limite l’exposition si une clé est compromise

  • Changements au sein de l’équipe : Lorsque des développeurs quittent l’équipe ou changent de rôle

  • Compromission suspectée : Si vous pensez qu’une clé a pu être exposée

  • Conformité : Certaines politiques de sécurité exigent une rotation périodique des clés

  • Changements d’environnement : Lors de la migration de l’infrastructure ou d’un refactoring

Processus standard de rotation (sans interruption)

Étape 1 : Créer une nouvelle clé

  1. Connectez-vous à Paramètres → API

  2. Cliquez sur "Créer une nouvelle clé API"

  3. Donnez-lui un nom descriptif (par ex. « Production Web v2 »)

  4. Copiez immédiatement la nouvelle clé : elle n’est affichée qu’une seule fois

  5. Conservez-la en lieu sûr

Étape 2 : Mettre à jour votre application

  • Déployez la nouvelle clé dans votre application (variables d’environnement, gestionnaire de secrets, etc.)

  • Redémarrez votre application pour charger la nouvelle clé

  • Vérifiez que la nouvelle clé fonctionne correctement

  • Surveillez les éventuelles erreurs

Étape 3 : Surveiller la transition

  • Conservez temporairement les deux clés actives

  • Consultez Paramètres → API pour voir les dates « Dernière utilisation »

  • Attendez que l’ancienne clé n’affiche plus d’activité récente

  • Assurez-vous que toutes les instances/services ont basculé vers la nouvelle clé

Étape 4 : Supprimer l’ancienne clé

  • Une fois confirmé que l’ancienne clé n’est plus utilisée

  • Supprimez ou désactivez l’ancienne clé dans Paramètres → API

  • Documentez la rotation pour vos archives

Processus rapide de rotation (en cas de compromission)

Si une clé est définitivement compromise et que vous devez agir immédiatement :

  1. Supprimez d’abord la clé compromise dans Paramètres → API

  2. Créez une nouvelle clé de remplacement

  3. Déployez rapidement la nouvelle clé dans toutes les applications

  4. Acceptez une brève interruption pour empêcher tout accès non autorisé

  5. Surveillez les journaux d’utilisation pour toute activité suspecte

  6. Contactez le support si nécessaire

Stratégie de rotation multi-environnements

Pour les systèmes de production, utilisez une approche progressive :

Semaine 1 : Développement

  • Créez et déployez la nouvelle clé dans l’environnement de développement

  • Testez soigneusement

Semaine 2 : Préproduction

  • Déployez la nouvelle clé dans la préproduction

  • Lancez les tests d’intégration

  • Surveillez les problèmes

Semaine 3 : Production

  • Déployez la nouvelle clé en production pendant une période de faible trafic

  • Surveillez de près

  • Conservez l’ancienne clé active pendant 24 à 48 heures en solution de repli

Semaine 4 : Nettoyage

  • Vérifiez que l’ancienne clé n’affiche aucune activité

  • Supprimez l’ancienne clé

  • Mettez à jour la documentation

Exemple d’automatisation

Script pour aider à vérifier que la rotation de clé est terminée :

#!/bin/bash
# check-api-key.sh
OLD_KEY="sk_live_OLD123..."
NEW_KEY="sk_live_NEW789..."
echo "Testing old key..."
OLD_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
  -H "x-api-key: $OLD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"test","page":1,"page_size":1}')
echo "Testing new key..."
NEW_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
  -H "x-api-key: $NEW_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"test","page":1,"page_size":1}')
echo "Old key status: ${OLD_RESPONSE: -3}"
echo "New key status: ${NEW_RESPONSE: -3}"
if [ "${NEW_RESPONSE: -3}" == "200" ]; then
  echo "✅ New key is working!"
else
  echo "❌ New key failed!"
fi

Bonnes pratiques

  • Faire pivoter régulièrement : Tous les 90 jours pour les clés de production

  • Documenter les rotations : Conservez un historique indiquant quand les clés ont été pivotées et pourquoi

  • Tester avant de supprimer : Vérifiez toujours que la nouvelle clé fonctionne avant de retirer l’ancienne

  • Utiliser plusieurs clés : Séparer les clés par environnement facilite la rotation

  • Automatiser lorsque possible : Utilisez des outils de gestion des secrets qui prennent en charge la rotation automatique

Checklist après rotation

Confirmez ces éléments après la rotation :

  • ✅ Toutes les instances de production utilisent la nouvelle clé

  • ✅ Tous les environnements de préproduction/développement ont été mis à jour (si vous utilisez la même clé)

  • ✅ Variables d’environnement mises à jour

  • ✅ Secrets CI/CD mis à jour

  • ✅ Documentation mise à jour

  • ✅ Membres de l’équipe informés

  • ✅ Ancienne clé supprimée

  • ✅ Rotation consignée à des fins d’audit

Cet article vous a-t-il été utile ?