Sécuriser vos clés API : les bonnes pratiques
Les clés API sont la porte d'entrée de vos données. Apprenez à les protéger efficacement contre les fuites et les usages non autorisés.
En bref
Vos clés API BCE/KBO (paire clé publique + clé secrète) donnent accès aux données officielles de la Banque-Carrefour des Entreprises en votre nom. Une fuite expose votre quota, vos données et votre identité. Trois règles non négociables : stocker les clés dans des variables d'environnement, ne jamais les exposer côté client, les faire tourner tous les 90 jours.
Pourquoi sécuriser vos clés API ?
Vos clés API donnent accès aux données de la BCE/KBO en votre nom. Si elles sont compromises, un tiers pourrait :
- Consommer votre quota de requêtes
- Accéder aux données de votre entreprise
- Usurper votre identité dans les logs
Les règles fondamentales
1. Ne jamais exposer côté client
La clé secrète (sk_live_...) ne doit jamais apparaître dans :
- Le code JavaScript côté navigateur
- Les applications mobiles décompilables
- Les dépôts Git publics
1 2 3 4 5 6 7
class="code-comment">// ❌ MAUVAIS - clé exposée côté client
const response = await fetch(class="code-string">'/api/companies/search?q=test', {
headers: { class="code-string">'X-API-Secret': class="code-string">'sk_live_abc123...' },
});
class="code-comment">// ✅ BON - appel via votre backend
const response = await fetch(class="code-string">'/votre-backend/search?q=test');
2. Utiliser des variables d'environnement
1 2 3
# .env.local (jamais commité)
API_PUBLIC_KEY=pk_live_votre_cle
API_SECRET_KEY=sk_live_votre_secret
1 2 3 4 5
class="code-comment">// Côté serveur uniquement
const headers = {
class="code-string">'X-API-Key': process.env.API_PUBLIC_KEY,
class="code-string">'X-API-Secret': process.env.API_SECRET_KEY,
};
3. Ajouter .env au .gitignore
1 2 3
.env
.env.local
.env.production
4. Rotation régulière des clés
- Changez vos clés tous les 90 jours
- Créez la nouvelle clé avant de supprimer l'ancienne
- Mettez à jour toutes les applications qui utilisent la clé
5. Limiter les permissions
- Utilisez des clés différentes pour chaque environnement (dev, staging, prod)
- Activez les alertes d'expiration dans votre dashboard
En cas de fuite
Si votre clé secrète est compromise :
Ressources complémentaires
La sécurité des clés API fait partie d'une stratégie d'intégration plus large. Consultez le tutoriel Python FastAPI pour voir comment charger les clés depuis des variables d'environnement dans un projet Python, et le guide d'intégration Node.js/TypeScript pour les projets JavaScript. Pour gérer efficacement votre quota sans risquer de saturer vos clés, lisez aussi l'architecture rate limits et caching. Enfin, la référence complète des endpoints détaille les scopes et permissions disponibles par clé.
Conclusion
La sécurité de vos clés API est votre responsabilité. En suivant ces bonnes pratiques, vous protégez vos données et celles de vos utilisateurs.
Questions fréquentes
Pourquoi ne faut-il jamais exposer une clé API secrète côté client en Belgique ?
La clé secrète (sk_live_...) d'une API BCE/KBO s'authentifie en votre nom auprès des serveurs de Company Belgium. Si elle est incluse dans du JavaScript côté navigateur ou dans une application mobile décompilable, n'importe qui peut l'extraire et l'utiliser pour consommer votre quota, accéder à vos données ou usurper votre identité dans les logs. Elle doit toujours rester côté serveur, chargée depuis une variable d'environnement.
Quelle est la bonne facon de stocker des cles API dans un projet Node.js ou Python ?
Dans les deux cas, stockez vos clés dans un fichier .env que vous ajoutez au .gitignore. En Node.js, utilisez le package dotenv et accédez aux clés via process.env.API_PUBLIC_KEY. En Python, utilisez python-dotenv et os.getenv(). Ne hardcodez jamais les clés dans le code source. Pour les environnements de production, privilégiez un gestionnaire de secrets comme AWS Secrets Manager, HashiCorp Vault ou les secrets Kubernetes.
Que faire si une cle API BCE/KBO a ete exposee dans un depot Git public ?
Agissez immédiatement en quatre étapes : désactivez la clé compromise dans votre dashboard Company Belgium, créez une nouvelle paire de clés, mettez à jour toutes les applications qui utilisaient l'ancienne clé, puis vérifiez les logs d'utilisation pour détecter des accès non autorisés. Il ne suffit pas de supprimer le commit : considérez que la clé est définitivement compromise dès l'instant de l'exposition et qu'elle doit être révoquée.
A quelle frequence faut-il renouveler les cles API d'une integration BCE/KBO ?
La bonne pratique recommandée est une rotation tous les 90 jours. Créez toujours la nouvelle clé avant de supprimer l'ancienne pour éviter toute interruption de service. Utilisez des clés différentes pour chaque environnement (développement, staging, production) et pour les jobs batch, de façon à pouvoir révoquer un accès précis sans impacter les autres. Activez également les alertes d'expiration dans le dashboard Company Belgium.
Commentaires
Articles similaires

Belgian Crossroads Bank for Enterprises (BCE/KBO) API : documentation développeur complète en anglais
Documentation développeur en anglais pour l'API de la Banque-Carrefour des Entreprises belge. Vue d'ensemble du registre BCE/KBO, contexte légal, options d'accès, démarrage rapide avec exemples cURL et patterns d'intégration pour les développeurs internationaux.

Rate limits, quotas et caching pour scaler une application BCE/KBO : architecture de référence
Votre app interroge l'API BCE/KBO en volume — comment éviter les 429, maîtriser les coûts et garantir la latence ? Architecture de référence avec cache à plusieurs niveaux, file de requêtes, observabilité et webhooks. Patterns concrets et chiffres à viser.

BCE API endpoints reference : liste complète des routes REST (companies, addresses, NACE, UBO, établissements, Peppol)
Référence technique exhaustive des endpoints REST de l'API Company Belgium : recherche, fiche entreprise, adresses, activités NACE, établissements, dirigeants, UBO, vérification Peppol. Avec schémas de réponse, paramètres et codes d'erreur.
