Aller au contenu

GUIDE TECHNIQUE · HASHICORP VAULT

HashiCorp Vault : Kubernetes : authentification et rotation

Authentifier un workload Kubernetes auprès de Vault sans token statique, contrôler les rôles et organiser le renouvellement des secrets en production.

Niveau Avancé3 min de lecture— vuesHashiCorp Vault

L’ESSENTIEL EN BREF

Les étapes clés

Ce guide présente 4 étapes, de « Définir l'identité des Pods » à « Vérifier livraison et rotation ».

Avant de commencer : Cluster Kubernetes et Vault de recette interconnectés.

01 · CADRAGE

Périmètre et résultat visé

Résultat attendu : Le rôle Vault n'accepte que le ServiceAccount prévu.

Public concerné : SRE, responsables plateforme Kubernetes et équipes sécurité

Environnement et versions

Vault Kubernetes auth avec TokenReview configuré ; mécanismes Injector ou CSI selon l'architecture retenue.

Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.

02 · AVANT DE COMMENCER

Prérequis et points de contrôle

  • Cluster Kubernetes et Vault de recette interconnectés.
  • ServiceAccount dédié et accès TokenReview configuré par l'équipe sécurité.
  • Chemin KV v2 et policy d'application bornés.

03 · VUE D’ENSEMBLE

Comprendre l’architecture et les flux

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Pod
02ServiceAccount
03JWT projeté
04Vault Kubernetes auth
05Token Vault
06Secret
Vault valide le JWT du ServiceAccount auprès de Kubernetes et délivre un token limité par la policy du rôle ; la mise à jour d'une application dépend du mode d'injection choisi.

04 · TUTORIEL

Procédure complète, étape par étape

Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.

01

ÉTAPE 1 / 4

Définir l'identité des Pods

Chaque service doit avoir un ServiceAccount limité.

  1. Créer un namespace et un ServiceAccount de recette.
  2. Empêcher les workloads sans nécessité d'utiliser les secrets du service.
Exemple techniqueÀ adapter à votre environnement
apiVersion: v1
kind: ServiceAccount
metadata:
  name: app-lab
  namespace: recette
Ce qui se passe à cette étape
1Pod
2SA
3Namespace

À vérifier : Le service dispose d'une identité dédiée.

Point de vigilance : Ne pas utiliser le ServiceAccount default pour des privilèges étendus.

02

ÉTAPE 2 / 4

Configurer Kubernetes auth

Vault a besoin d'une relation de confiance vérifiable.

  1. Faire configurer la méthode d'auth par un administrateur.
  2. Vérifier endpoint Kubernetes, certificat CA et les autorisations TokenReview.
Exemple techniqueÀ adapter à votre environnement
# Vue logique :
# Vault auth/kubernetes/config -> Kubernetes API TokenReview
Ce qui se passe à cette étape
1JWT
2TokenReview
3Trust

À vérifier : La validation des JWT fonctionne depuis Vault.

Point de vigilance : Ne pas désactiver la vérification TLS pour contourner un problème de certificat.

03

ÉTAPE 3 / 4

Créer un rôle restreint

Les claims et le namespace doivent correspondre aux workloads attendus.

  1. Lier le rôle Vault au ServiceAccount et namespace.
  2. Associer une policy de lecture du chemin KV concerné.
Exemple techniqueÀ adapter à votre environnement
vault write auth/kubernetes/role/app-lab \
  bound_service_account_names=app-lab \
  bound_service_account_namespaces=recette \
  policies=app-reader ttl=15m
Ce qui se passe à cette étape
1SA
2Rôle
3Policy

À vérifier : Le rôle ne reconnaît que l'identité de recette.

Point de vigilance : Le rôle Vault et le namespace cible doivent être validés ensemble.

04

ÉTAPE 4 / 4

Vérifier livraison et rotation

Un secret changé ne redémarre pas automatiquement toutes les applications.

  1. Déployer un workload de test utilisant le mode d'injection choisi.
  2. Faire tourner la valeur fictive et observer le rechargement ou le redéploiement requis.
Exemple techniqueÀ adapter à votre environnement
# Contrôles :
# JWT validé -> token Vault borné
# rotation KV -> nouvelle valeur consommée selon mécanisme
Ce qui se passe à cette étape
1Login
2Secret
3Rotation

À vérifier : La consommation suit les contraintes de rotation documentées.

Point de vigilance : Ne pas publier de tokens ni de valeurs de secret dans les journaux de Pod.

RÉFÉRENCES TECHNIQUES

Documentation officielle

Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par HashiCorp Vault. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.

Consulter la documentation officielle

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

Le rôle Vault n'accepte que le ServiceAccount prévu.

02

Les droits sont limités au secret autorisé.

03

Le comportement après rotation est testé.

06 · DIAGNOSTIC

Problèmes fréquents et résolution

403 login

Cause probable : Role/SA/namespace non concordants

Que faire : Comparer les claims et les bindings.

TokenReview refused

Cause probable : RBAC ou trust du serveur Kubernetes incorrect

Que faire : Corriger les droits TokenReview.

Ancienne valeur toujours utilisée

Cause probable : Application ne recharge pas le secret

Que faire : Adapter l'injecteur ou la stratégie de restart.

07 · QUESTIONS PRATIQUES

Questions fréquentes

CSI et Injector sont-ils identiques ?

Non, ils fournissent des chemins de consommation différents.

La rotation est-elle automatique partout ?

Non : elle dépend du composant, du type de secret et de l'application.

Faut-il un token Vault statique ?

Non, Kubernetes auth permet de recevoir un token à durée bornée.

AUTRES TECHNOLOGIES

Guides complémentaires

Tous les guides HashiCorp Vault

VOTRE ENVIRONNEMENT

Besoin d’aller plus loin sur votre environnement ?

Automatisation, sécurité et exploitation : échangeons sur vos pratiques HashiCorp Vault.

Échanger avec ADN Consulting

Pour aller plus loin