Gestion des clés API, variables d’environnement, limites de taux et meilleures pratiques de sécurité.
Toutes les requêtes API RAIL sont authentifiées avec des clés API. Les clés sont liées à votre compte, portent votre solde de crédit et apparaissent dans vos journaux d’utilisation.
Les deux SDK acceptent la clé API lors de la construction du client et attachent l’en-tête automatiquement :
from rail_score_sdk import RailScoreClientimport os# Passez la clé directement (bien pour les scripts)client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")# Recommandé : lire à partir de la variable d'environnementclient = RailScoreClient(api_key=os.environ["RAIL_API_KEY"])
Ne jamais coder en dur les clés API dans les fichiers source. Utilisez des variables d’environnement et gardez les clés hors du contrôle de version.
Local (dotenv)
Vercel / Edge
Docker
# .env — ajoutez à .gitignore, ne jamais commettre ce fichierRAIL_API_KEY=YOUR_RAIL_API_KEY
from dotenv import load_dotenvimport osload_dotenv()api_key = os.environ["RAIL_API_KEY"]
Ajoutez via Tableau de bord Vercel > Paramètres > Variables d’environnement.Nom de la variable : RAIL_API_KEY
Ne jamais préfixer la variable avec NEXT_PUBLIC_. Cela l’exposerait dans le bundle du navigateur.
// Côté serveur uniquementconst apiKey = process.env.RAIL_API_KEY;
# Passez à l'exécution — ne jamais intégrer de secrets dans les couches d'imagedocker run -e RAIL_API_KEY=YOUR_RAIL_API_KEY my-app# docker-compose.ymlservices: app: image: my-app environment: - RAIL_API_KEY=${RAIL_API_KEY}
Vous pouvez créer plusieurs clés pour différents environnements (production, staging, CI). Gérez toutes les clés depuis votre tableau de bord.
Action
Quand l’utiliser
Générer une clé
Nouvel environnement, intégration d’un nouveau service, ou rotation des identifiants selon un calendrier
Renommer une clé
Ajouter un contexte comme “production-chatbot” ou “staging-ci” pour le suivi d’utilisation
Révoquer une clé
Fuite suspectée, départ d’un employé, ou mise hors service d’un service. Prend effet immédiatement.
Rotation sans temps d’arrêt : Générez une nouvelle clé, déployez-la sur votre service et vérifiez qu’elle fonctionne, puis révoquez l’ancienne clé. L’échange prend quelques secondes.
Ne jamais exposer les clés dans le code côté client. Les navigateurs sont publics. Appelez toujours l’API depuis votre backend ou fonction sans serveur.
Stockez les clés dans des variables d’environnement, jamais codées en dur dans des fichiers source ou des images Docker.
Ajoutez .env à .gitignore avant le premier commit afin que les clés ne soient jamais accidentellement poussées.
Utilisez des clés séparées par environnement. Si le staging est compromis, la production reste en sécurité.
Révoquez immédiatement si exposé. Générez d’abord un remplacement, puis révoquez.
Faites une rotation selon un calendrier. Régénérer périodiquement les clés limite le rayon d’impact de toute fuite non détectée.