Introduction
HashiCorp Vault est la solution de référence pour centraliser et sécuriser les secrets dans les environnements modernes. En 2026, les applications cloud-native doivent éviter de stocker des clés API ou des mots de passe en clair. Vault offre un contrôle d'accès fin, une rotation automatique et un audit complet. Ce tutoriel vous guide pas à pas pour déployer Vault et l'intégrer dans une application Node.js TypeScript. Vous apprendrez à créer des politiques, activer des moteurs de secrets et récupérer des identifiants dynamiquement.
Prérequis
- Node.js 20+ et npm
- Docker installé
- Connaissances de base en TypeScript et REST
- Un terminal Linux ou WSL
Démarrage de Vault en mode dev
docker run -d --name vault -p 8200:8200 -e 'VAULT_DEV_ROOT_TOKEN_ID=myroot' hashicorp/vault:latestCette commande lance Vault en mode développement avec un token root. Utile pour tester rapidement, mais jamais en production.
Configuration du client Vault
import * as vault from 'node-vault';
const client = vault({
apiVersion: 'v1',
endpoint: 'http://localhost:8200',
token: process.env.VAULT_TOKEN || 'myroot'
});
export default client;Ce module initialise le client Vault avec le token root. Stockez toujours le token dans une variable d'environnement.
Activation du moteur KV v2
curl -X POST -H "X-Vault-Token: myroot" \
-d '{"type":"kv","options":{"version":"2"}}' \
http://localhost:8200/v1/sys/mounts/secretActive le moteur KV version 2 sous le chemin /secret pour stocker des paires clé-valeur versionnées.
Création d'une politique d'accès
{
"path": {
"secret/data/app/*": {
"capabilities": ["read", "list"]
}
}
}Cette politique limite l'accès aux secrets de l'application. Appliquez-la ensuite via l'API ou l'interface Vault.
Application de la politique et création de token
curl -X POST -H "X-Vault-Token: myroot" \
-d '{"policies":["app-policy"]}' \
http://localhost:8200/v1/auth/token/createGénère un token limité à la politique app-policy. Utilisez ce token dans vos applications au lieu du token root.
Bonnes pratiques
- Utilisez toujours des tokens à durée de vie limitée et renouvelables
- Activez l'audit logging dès la mise en production
- Préférez les secrets dynamiques (database, AWS) aux secrets statiques
- Stockez le token root hors ligne et désactivez-le après initialisation
- Versionnez toutes vos politiques dans Git
Erreurs courantes à éviter
- Laisser le mode dev activé en production
- Oublier de renouveler les tokens avant expiration
- Stocker le token root dans le code source
- Ne pas activer TLS pour les communications client-serveur
Pour aller plus loin
Découvrez nos formations avancées sur la gestion des secrets et la sécurité cloud : https://learni-group.com/formations