Usage sécurisé des tokens API
Le token API est une clé qui donne un accès programmatique complet à votre compte via l'API REST. S'il fuit, un attaquant peut faire tout ce que vous pouvez faire. Les recommandations ci-dessous réduisent le risque que cela vous arrive.
Traitez le token comme un mot de passe
- Ne placez jamais un token dans des dépôts publics (GitHub, GitLab).
- N'envoyez pas un token via Discord, Slack ou email lors du débogage.
- Stockez le token dans une variable d'environnement ou dans un gestionnaire de secrets (HashiCorp Vault, AWS SSM Parameter Store, Doppler et similaires).
- Dans le pipeline CI/CD (système automatisé de build/déploiement), utilisez la fonction "masked secret" pour que le token n'apparaisse pas en clair dans les journaux.
Rotation des tokens
Dans chacune des situations suivantes, révoquez immédiatement l'ancien token et générez-en un nouveau :
- Un employé qui avait accès quitte l'entreprise.
- Dans le tableau de bord, vous voyez un horodatage Dernière utilisation à côté de chaque token - si vous constatez une activité inattendue, révoquez le token immédiatement.
- Au moins une fois tous les 90 jours, comme hygiène de routine, même si rien ne s'est passé.
Un token = un usage
Ne mettez pas le même token dans cinq scripts différents. Créez un token distinct pour chaque intégration :
epulzio_xxxxxxxxxxxxxxxx- uniquement pour les déploiements via GitHub Actionsepulzio_xxxxxxxxxxxxxxxx- uniquement pour Terraform ou Pulumi (outils de gestion d'infrastructure)epulzio_xxxxxxxxxxxxxxxx- pour un tableau de bord Grafana qui récupère des métriques
Si un token fuit, vous ne révoquez que celui-ci et les autres intégrations continuent de fonctionner.
Où stocker le token en toute sécurité
| Environnement | Méthode recommandée |
|---|---|
| CLI local | Fichier ~/.config/epulzio/token avec les droits chmod 600 (lu uniquement par votre utilisateur) |
| Docker | Docker secret ou --env-file (pas en dur via ENV dans le Dockerfile) |
| Kubernetes | Objet Secret monté comme variable d'environnement ou fichier |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Fonctions cloud (AWS Lambda, GCP Functions) | AWS SSM Parameter Store ou Google Secret Manager |
Token vs secret de signature pour les webhooks
Pour vérifier les webhooks entrants (les notifications que nous vous envoyons), utilisez un secret de signature (HMAC signing secret) distinct, et non le token API. Ce sont deux choses différentes. Vous trouverez les détails dans l'article Génération d'un token API.