Vault token expiration trop rapide en CI/CD

noel93 16/02/2025
RÉSOLU
noel93
Auteur
Avatar de noel93
noel93
Auteur

salut tout le monde ! on utilise vault pour récupérer des secrets dans nos pipelines ci/cd. le problème c'est que nos tokens vault expirent trop vite (genre 5 min) et nos jobs qui durent plus longtemps se retrouvent sans accès aux secrets. j'ai bien mis une ttl plus longue sur le role mais ça ne semble pas prendre. c'est pour un role jwt/oidc configuré avec github actions

# extrait de la config du role vault
path "auth/jwt/role/github-action-role" {
  ...
  ttl = "30m"
  max_ttl = "1h"
  ...
}

une idée de ce que je loupe ? c'est mega relou de relancer les jobs

16/02/2025 à 12:34

9 commentaires

oceane-lebon
Membre Actif Secouriste
Avatar de oceane-lebon
oceane-lebon
Membre Actif Secouriste

hello le ttl et max_ttl sur le role définissent la durée de vie maximale que tu peux demander. mais le token que tu obtiens a aussi sa propre durée de vie définie par l'auth method elle-même ou la policy du token. tu as checké la policy attachée au token ?

Modifié le 23/05/2026 à 16:20
noel93
Auteur
Avatar de noel93
noel93
Auteur

ouais j'ai checké la policy elle a pas de ttl spécifique. c'est la policy de base pour ce role avec des permissions pour des chemins secrets. je comprends pas pourquoi ça override mon ttl de 30m

18/02/2025 à 03:40

y'a aussi le lease duration par défaut de vault lui-même qui peut override tout ça. check le vault read sys/config/lease. et assure-toi que tes pipelines demandent bien un token avec un ttl spécifique lors de l'authentification si c'est supporté par github actions et ton auth method

19/02/2025 à 00:43
oceane-lebon
Membre Actif Secouriste
Avatar de oceane-lebon
oceane-lebon
Membre Actif Secouriste

et ton jwt_exp_leeway est comment ? si t'as une grosse asymétrie d'horloge entre ton github runner et vault ça peut jouer sur la validité du token

19/02/2025 à 23:54
aime53
Membre
Avatar de aime53
aime53
Membre

si c'est un token issu d'une auth method, la durée de vie finale c'est le MIN entre le ttl du role, le ttl de la policy, la ttl de l'auth method mount, et le system default lease. c'est souvent le system default lease qui surprend. regarde aussi si t'as pas des renewable = false quelque part sur la policy ou le role

Modifié le 23/05/2026 à 16:20
noel93
Auteur
Avatar de noel93
noel93
Auteur

okay le sys/config/lease j'ai 30 jours pour le default lease donc pas ça. pas de renewable = false. je vais regarder du côté de l'auth method mount. comment je check le ttl spécifique de la mount auth/jwt ?

Modifié le 23/05/2026 à 16:20

vault read sys/mounts/auth/jwt/tune ça te donnera les default_lease_ttl et max_lease_ttl pour cette mount spécifique. c souvent là qu'est le coupable quand le role ttl ne semble pas fonctionner

Modifié le 23/05/2026 à 16:20
noel93
Auteur
Avatar de noel93
noel93
Auteur

YES ! default_lease_ttl sur la mount était à 5m. je l'ai mis à 30m et ça roule nickel maintenant. purée fallait le trouver. merci les gars c'était bien ça !

23/02/2025 à 10:25
oceane-lebon
Membre Actif Secouriste
Avatar de oceane-lebon
oceane-lebon
Membre Actif Secouriste

top ! content que ça aide. les ttls dans vault c'est un peu un labyrinthe au début haha

24/02/2025 à 09:41

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