🌐 FR

🔑 Générateur de clé API

Générez des clés API aléatoires et sécurisées. Utilisez-les pour les API REST, les jetons d'authentification et les clés secrètes.

Format de la clé API
GUIDE

En savoir plus

01

1. L'importance de la sécurité des clés API

Les clés API sont des éléments de sécurité essentiels pour l'authentification entre applications. Les clés faibles sont vulnérables aux attaques par force brute, et leur exposition entraîne un accès non autorisé à l'API. Une clé API robuste doit comporter au moins 32 caractères aléatoires et être générée à l'aide d'un générateur de nombres pseudo-aléatoires cryptographiquement sécurisé (CSPRNG). Les formats UUID v4, Base64 et Hex sont largement utilisés, chaque clé devant être unique et imprévisible. En cas d'exposition, révoquez immédiatement la clé et remplacez-la par une nouvelle, et ne la commitez jamais dans un dépôt public comme GitHub.

02

2. Comparaison des méthodes de génération de clés

Il existe plusieurs méthodes de génération de clés API. L'UUID v4 utilise 122 bits aléatoires avec une probabilité de collision extrêmement faible, ce qui en fait un format largement adopté. Le Base64 encode des données binaires en texte, offrant environ 192 bits d'entropie sur 32 caractères. Le Hex, représenté en hexadécimal, offre une bonne lisibilité avec une sécurité de 256 bits sur 64 caractères. Le format alphanumérique n'utilise que des lettres et des chiffres pour rester compatible avec les URL, et l'ajout de préfixes (sk_, api_) permet d'identifier facilement le type de clé. Stripe, AWS et OpenAI utilisent chacun des formats de clé distincts pour différencier les clés propres à chaque service.

03

3. UUID vs chaînes aléatoires

L'UUID v4 est un identifiant standardisé de 128 bits garantissant une unicité mondiale. Le format 8-4-4-4-12 (par exemple : 550e8400-e29b-41d4-a716-446655440000) a une structure claire conforme à la norme RFC 4122. Les chaînes aléatoires personnalisées offrent en revanche une flexibilité de longueur et de format. Si l'UUID convient bien comme clé primaire de base de données, une chaîne aléatoire est plus concise et pratique pour une clé API. La robustesse de sécurité est comparable, mais une chaîne aléatoire permet plus facilement d'implémenter une logique de validation en ajoutant des préfixes et des sommes de contrôle.

04

4. Recommandations pour le stockage des clés

Ne stockez jamais une clé API en texte brut. Enregistrez-la dans des variables d'environnement (.env) et ajoutez ce fichier à .gitignore pour l'exclure du contrôle de version. En production, utilisez des systèmes dédiés de gestion des secrets comme AWS Secrets Manager, HashiCorp Vault ou Azure Key Vault. Lors du stockage en base de données, convertissez la clé en hachage (SHA-256) et appliquez si nécessaire un chiffrement (AES-256). Évitez de coder les clés en dur dans le code ; utilisez plutôt les secrets Docker ou les Secrets Kubernetes. Masquez les clés dans les journaux pour éviter toute exposition et surveillez l'historique d'utilisation des clés.

05

5. Politiques de rotation des clés

Les clés API doivent être renouvelées régulièrement. Il est courant de les faire tourner tous les 90 jours, et de les révoquer immédiatement en cas de suspicion de fuite. Pour une rotation sans interruption de service, activez deux clés simultanément, basculez vers la nouvelle clé, puis désactivez l'ancienne. AWS IAM et les clés API Google Cloud proposent des fonctionnalités de rotation automatique. Définissez une date d'expiration pour chaque clé afin d'invalider automatiquement les anciennes clés, et enregistrez l'historique des rotations dans un journal d'audit. Utiliser une authentification par jeton comme OAuth 2.0 ou JWT à la place des clés API offre une meilleure sécurité avec expiration automatique.

06

6. Limitation du débit et restrictions d'utilisation

Appliquez toujours une limitation du débit (rate limiting) aux clés API pour prévenir les abus. Définissez des limites telles que 100 requêtes par minute et par IP, ou 1 000 par heure et par clé. Mettez en place des quotas pour limiter le nombre d'appels quotidiens maximum, et renvoyez un code 429 Too Many Requests en cas de dépassement. Configurez des listes blanches d'IP pour n'autoriser l'utilisation de la clé que depuis certaines adresses, et détectez les schémas anormaux (grand nombre de requêtes en peu de temps) pour un blocage automatique. Des passerelles API comme Cloudflare, Kong ou AWS API Gateway simplifient la mise en œuvre de la limitation de débit. Définissez des permissions par clé (scopes) pour restreindre l'accès en lecture seule, écriture seule, etc.

Questions fréquentes

Les clés générées sont-elles envoyées à un serveur ?
Non. Toutes les clés sont générées uniquement dans votre navigateur et ne sont jamais envoyées à un serveur ; leur utilisation est donc sans risque.
Quel format dois-je choisir ?
De manière générale, l'UUID v4 est largement utilisé grâce à sa faible probabilité de collision. Choisissez l'alphanumérique pour la compatibilité URL, ou le Hex pour la lisibilité.