Vault auto-unseal avec k8s: comment sécuriser le token init

duval-david 04/02/2025
RÉSOLU
duval-david
Auteur
Avatar de duval-david
duval-david
Auteur

Salut la tech team j'ai un souci avec Vault sur k8s. on utilise l'auto-unseal via le k8s auth method mais au déploiement initial faut un token root pour init et pour setup l'auto-unseal. ce token il est super sensible et on sait pas trop comment le gérer de façon sécure sans le mettre en clair ou presque. des idées pour pas qu'il traîne ?

# exemple de ce qu'on fait
apiVersion: apps/v1
kind: Deployment
metadata:
  name: vault
spec:
  template:
    spec:
      containers:
        - name: vault
          env:
            - name: VAULT_TOKEN
              valueFrom:
                secretKeyRef:
                  name: vault-init-token
                  key: token
04/02/2025 à 02:18

8 commentaires

jacques56
Membre
Avatar de jacques56
jacques56
Membre

yo l'idéal c'est d'éviter d'avoir ce token dans un secret k8s même temporairement. si t'es sur un cloud style aws ou gcp utilise leur kms pour l'auto-unseal. tu n'as pas besoin de token init à ce moment-là pour le unseal.

04/02/2025 à 20:52
jules44
Membre
Avatar de jules44
jules44
Membre

le kms cloud c'est le mieux clair. si tu peux pas pour x raison regarde Sealed Secrets de bitnami ça chiffre tes secrets dans git et un contrôleur les déchiffre au déploiement dans le cluster. c'est mieux que rien pour le secret init même si ça reste dans k8s après.

05/02/2025 à 19:05
virginie-joseph
Membre Actif
Avatar de virginie-joseph
virginie-joseph
Membre Actif

attention avec Sealed Secrets le secret est déchiffré dans le cluster. n'importe qui avec les bonnes perms k8s peut le lire. pour l'init tu peux aussi utiliser un operator type HashiCorp Vault Operator qui gère l'init et l'unseal sans exposer ce token direct.

06/02/2025 à 17:00
duval-david
Auteur
Avatar de duval-david
duval-david
Auteur

ok je vois le kms cloud c'est notre voie privilégiée mais on est en multi-cloud on a pas un kms unique partout. sealed secrets c'est un ptete un fallback. mais l'operator vault ça m'intéresse. il fait comment il génère le token et le gère hors de notre vue ?

07/02/2025 à 11:02
jacques56
Membre
Avatar de jacques56
jacques56
Membre

l'operator gère le cycle de vie complet de vault y compris l'init et le unseal. il peut générer un token root temporaire pour setup le k8s auth method et d'autres config initiales puis le révoquer. l'idée c'est que tu n'as jamais à manipuler ce token directement.

08/02/2025 à 09:14
jules44
Membre
Avatar de jules44
jules44
Membre

oui c'est ça l'operator est un pattern puissant pour ce genre de truc. il agit comme un humain mais en plus fiable. il a les perms dans k8s pour créer les secrets au besoin et les supprimer. le token root est éphémère.

09/02/2025 à 07:31
virginie-joseph
Membre Actif
Avatar de virginie-joseph
virginie-joseph
Membre Actif

check aussi le projet bank-vaults c'est une collection d'outils et operators autour de vault pour k8s. ils ont des solutions pour l'auto-unseal et la gestion des tokens init.

10/02/2025 à 05:42
duval-david
Auteur
Avatar de duval-david
duval-david
Auteur

ok génial bank-vaults et l'operator c'est la piste à creuser. on va regarder ça pour l'init token et l'auto-unseal via kms dans un premier temps. thx pour les tips la team !

11/02/2025 à 00:14

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire