CompanyBelgium

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.

12 mars 20265 min de lecture

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
TypeScript
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

Terminal
1
2
3
# .env.local (jamais commité)
API_PUBLIC_KEY=pk_live_votre_cle
API_SECRET_KEY=sk_live_votre_secret
TypeScript
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

.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 :

  • Désactivez immédiatement la clé dans le dashboard
  • Créez une nouvelle paire de clés
  • Mettez à jour toutes vos applications
  • Vérifiez les logs d'utilisation pour détecter des abus
  • 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.

    Prêt à commencer ?

    Créez votre compte gratuitement et obtenez vos clés API en quelques minutes.

    Commentaires

    Chargement des commentaires…

    Laisser un commentaire

    Non publié — sert uniquement à vous notifier.

    Les commentaires sont modérés avant publication.

    Articles similaires