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

Posté par duval-david le 04/02/2025
RÉSOLU

duval-david

Membre depuis le 29/04/2019

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

Commentaires

jacques56

Membre depuis le 30/12/2024

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.

jules44

Membre depuis le 13/01/2025

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.

virginie-joseph

Membre depuis le 23/10/2022

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.

duval-david

Membre depuis le 29/04/2019

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 ?

jacques56

Membre depuis le 30/12/2024

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.

jules44

Membre depuis le 13/01/2025

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.

virginie-joseph

Membre depuis le 23/10/2022

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.

duval-david

Membre depuis le 29/04/2019

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 !

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