Gérer les clés API en toute sécurité
Les clés API vont dans des variables d'environnement ou des gestionnaires de secrets – jamais dans le code, les repos ou les prompts. En cas de fuite, une seule chose compte : révoquer immédiatement.
Pourquoi c'est important
Une clé API, c'est comme une carte de crédit : qui la détient peut envoyer des requêtes sur ta facture. Les dépôts publics sont scannés automatiquement à la recherche de telles clés – aussi bien par des attaquants que par des systèmes de protection.
Règle 1 : jamais dans le code, le dépôt ou le prompt
Les clés n'ont pas leur place dans le code source, ni dans le dépôt git, ni dans les prompts de chat. La méthode standard en local : un fichier .env contenant la clé – plus une entrée dans .gitignore pour qu'il ne soit jamais commité. Anthropic recommande explicitement ce modèle.
Règle 2 : variables d'environnement et gestionnaires de secrets
En local, ton programme lit la clé depuis une variable d'environnement. En production, Anthropic recommande un stockage de secrets chiffré (les gestionnaires de secrets des fournisseurs cloud) plutôt que des fichiers dotenv.
Règle 3 : faire tourner et restreindre
Fais tourner les clés régulièrement (Anthropic donne l'exemple de tous les 90 jours), utilise des clés séparées pour le développement, les tests et la production, et donne à chaque clé uniquement les droits strictement nécessaires – le principe du moindre privilège du guide OWASP.
En cas de fuite
Révoque et remplace immédiatement. Supprimer le commit ne suffit pas : GitHub précise clairement qu'un secret ayant fuité doit d'abord être révoqué ou renouvelé – l'historique git peut déjà avoir été cloné ou mis en cache depuis longtemps.
EXEMPLE
Au lieu de `apiKey = "sk-ant-..."` dans le code : place la clé dans .env (.env est listé dans .gitignore), lis `process.env.ANTHROPIC_API_KEY` dans le code – et utilise en production le gestionnaire de secrets de ton fournisseur cloud.
🛠️ EXERCICE — À TOI DE JOUER
Mets en place le modèle .env dans un projet d'entraînement et vérifie qu'aucune clé ne peut se retrouver dans le dépôt.
- Crée un .env avec une variable factice (PAS de vraie clé) et ajoute .env à .gitignore.
- Crée un .env.example avec les noms de variables sans valeurs, et ne commit que celui-ci.
- Vérifie avec `git status` que .env n'apparaît pas comme nouveau fichier – et lis la valeur dans le code via la variable d'environnement.
✅ AUTO-VÉRIFICATION
- ☐ Est-ce que .env apparaît dans `git status` ? (Si oui : vérifie l'entrée .gitignore)
- ☐ Y a-t-il quelque part dans le code ou dans un prompt une clé en clair sous forme de chaîne ?
- ☐ Sais-tu où tu pourrais révoquer immédiatement ta vraie clé (console/dashboard du fournisseur) ?
QUIZ RAPIDE
Ta clé API s'est retrouvée par erreur dans un dépôt public. Quelle est la bonne première étape ?
SOURCES
- Anthropic Help Center : API Key Best Practices ↗ support.claude.com
- OWASP Cheat Sheet : Secrets Management ↗ cheatsheetseries.owasp.org
- GitHub Docs : supprimer des données sensibles d'un dépôt ↗ docs.github.com