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é
Connectez-vous à Paramètres → API
Cliquez sur "Créer une nouvelle clé API"
Donnez-lui un nom descriptif (par ex. « Production Web v2 »)
Copiez immédiatement la nouvelle clé : elle n’est affichée qu’une seule fois
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 :
Supprimez d’abord la clé compromise dans Paramètres → API
Créez une nouvelle clé de remplacement
Déployez rapidement la nouvelle clé dans toutes les applications
Acceptez une brève interruption pour empêcher tout accès non autorisé
Surveillez les journaux d’utilisation pour toute activité suspecte
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