Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Vault Agent Injector

cloud

Définition

HashiCorp Vault Agent Injector est un composant Kubernetes qui permet d'injecter automatiquement des secrets HashiCorp Vault dans les pods Kubernetes comme fichiers ou variables d'environnement, sans modifier le code des applications. Il utilise un MutatingWebhookConfiguration pour intercepter la création de pods annotés et injecter un conteneur init et un conteneur sidecar Vault Agent. L'Agent Injector s'active via des annotations sur les pods : vault.hashicorp.com/agent-inject: "true" active l'injection, vault.hashicorp.com/role spécifie le rôle Vault à utiliser pour l'authentification, et vault.hashicorp.com/agent-inject-secret-<name> spécifie le chemin du secret dans Vault. Le Vault Agent s'authentifie à Vault via Kubernetes Auth Method (en utilisant le token du ServiceAccount Kubernetes), récupère les secrets, et les écrit dans un volume partagé accessible par l'application. L'avantage de l'approche Vault Agent par rapport aux External Secrets Operator ou aux Sealed Secrets est que les secrets ne sont jamais stockés dans Kubernetes (pas de Secret native) : ils sont uniquement présents dans le volume partagé éphémère du pod. Si le pod est arrêté, les secrets disparaissent. Cette approche est la plus sécurisée car elle ne laisse aucune trace des secrets dans l'API Kubernetes ou dans etcd. Vault Agent supporte le renouvellement automatique (renewal) des secrets avec TTL court : pour les secrets dynamiques Vault (credentials de base de données générés à la demande avec une durée de vie limitée), l'Agent renouvelle automatiquement le bail (lease) avant son expiration. L'application n'a pas conscience de ce renouvellement : elle lit simplement le fichier de secret qui est mis à jour transparente par l'Agent. La configuration de Vault Kubernetes Auth Method nécessite que Vault ait accès à l'API Kubernetes pour vérifier la validité des tokens de ServiceAccount. Les rôles Vault définissent quels ServiceAccounts Kubernetes (identifiés par leur namespace et leur nom) peuvent s'authentifier et quelles policies Vault ils obtiennent.

Configuration de Vault Kubernetes Auth

Activez l'auth method Kubernetes dans Vault : vault auth enable kubernetes. Configurez l'accès à l'API K8s : vault write auth/kubernetes/config kubernetes_host=https://API_SERVER_HOST token_reviewer_jwt= kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt. Créez un rôle : vault write auth/kubernetes/role/my-app bound_service_account_names=my-app bound_service_account_namespaces=production policies=my-app-policy. L'Agent s'authentifie automatiquement avec ce rôle via les annotations.

Secrets dynamiques et renouvellement

La puissance de Vault Agent avec les secrets dynamiques : configurez un Database Secrets Engine Vault générant des credentials PostgreSQL/MySQL temporaires avec TTL 1h. L'Agent inject le fichier credentials.json mis à jour automatiquement avant expiration. L'application lit le fichier pour se connecter à la base. Si l'Agent est compromis, les credentials expirent en 1h. Si la base de données est compromise, revoquez le bail pour invalider immédiatement les credentials actifs. Ce modèle élimine les credentials statiques pour les bases de données.

Vault Agent vs External Secrets Operator

Vault Agent Injector : secrets non stockés dans Kubernetes, mise à jour dynamique des fichiers, ideal pour Vault existant. Complexité plus élevée (sidecar, annotations). External Secrets Operator : synchronise depuis de nombreuses sources (AWS SM, Azure KV, GCP SM, Vault), crée des Secrets K8s natifs (moins sécurisé car stockés dans etcd), plus simple à adopter. Vault CSI Provider : monte les secrets Vault comme volumes sans créer de Secrets K8s, alternative à l'Agent Injector sans sidecar (plus léger).

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis