Concepts clés de vault
Vault Server et Vault Clients
-
Vault Server :
Le serveur Vault centralise la gestion des secrets. Il est responsable de stocker, protéger et gérer les secrets conformément aux politiques définies. Le serveur s'appuie sur un backend de stockage (local file, consul, s3, blob azure...) sécurisé pour persister ses données. -
Vault Clients :
Les clients (applications, scripts, ou utilisateurs) interagissent avec Vault via son API ou l'interface en ligne de commande (vault CLI). Ces interactions permettent de récupérer des secrets, de configurer des politiques ou de gérer l'authentification.
Backends de stockage
Le backend de stockage est l'endroit où Vault enregistre ses données (secrets, métadonnées, journaux). Vault chiffre toutes les données avant de les écrire dans le backend. Plusieurs options sont disponibles :
- Cloud : Amazon S3, Google Cloud Storage, Azure Blob Storage.
- Cluster distribué : Consul, Cassandra, Redis...
- DB SQL: MSSQL, PostgreSQL...
- Local : Système de fichiers local (recommandé uniquement pour le développement/test).
Chaque backend a ses particularités : certains permettent des performances élevées, tandis que d'autres offrent une résilience accrue grâce à la distribution.
Secret Engines
Les moteurs de secrets (Secret Engines) sont des modules extensibles dans Vault qui permettent de gérer différents types de secrets. Ils peuvent être activés ou désactivés en fonction des besoins.
-
Moteur kv (Key-Value) :
Utilisé pour stocker des paires clé-valeur. Supporte la version des secrets pour permettre une gestion fine (restauration d’anciennes versions). -
Moteur pki (Public Key Infrastructure) :
Permet de générer, signer, et gérer des certificats. Idéal pour mettre en place une autorité de certification interne (CA) dans l’organisation. -
Moteur database :
Fournit des identifiants dynamiques pour des bases de données comme MySQL, PostgreSQL, ou MongoDB. Les identifiants expirent automatiquement après un délai défini. -
Moteur cloud :
Gestion des accès aux services cloud (AWS, Google Cloud, Azure). Vault peut générer des identifiants temporaires pour les API ou des services spécifiques. -
Moteur transit :
Permet le chiffrement et le déchiffrement des données à la volée, sans nécessiter de les stocker dans Vault. Idéal pour chiffrer des informations sensibles dans vos applications.
Auth Methods
Les méthodes d’authentification permettent aux utilisateurs ou aux applications de s’authentifier auprès de Vault pour obtenir un token. Ce token est ensuite utilisé pour accéder aux secrets. Vault prend en charge plusieurs méthodes :
-
Kubernetes :
Authentification basée sur les identités des pods Kubernetes (serviceAccount). Chaque application déployée dans Kubernetes peut obtenir un accès contrôlé aux secrets Vault. -
AWS IAM et GCP IAM :
Intégration avec les identités cloud pour fournir un accès sécurisé aux ressources. -
JWT (OIDC) :
Authentification avec des jetons JSON Web Token via OpenID Connect. Idéal pour intégrer des services tiers ou des plateformes SSO. -
LDAP :
Intégration avec les annuaires LDAP pour permettre aux utilisateurs d’une organisation d’utiliser leurs identifiants existants. -
Userpass :
Méthode simple basée sur un nom d’utilisateur et un mot de passe. Principalement utilisée pour les scénarios d'accès à l'ui pour quelques admin.
Chaque méthode peut être associée à des politiques spécifiques pour définir précisément les permissions accordées aux utilisateurs ou applications.
Commentaires
Aucun commentaire pour le moment.