Vault pas de lease renewal sur mes secrets K8s

Posté par jacqueline-potier le 04/11/2024
RÉSOLU

jacqueline-potier

Membre depuis le 16/06/2024

Salut la team

on a déployé une nouvelle app sur K8s elle récupère ses secrets de Vault via l'auth method Kubernetes. ça marche bien au début les secrets sont injectés mais après un moment (quand le lease expire) on a des erreurs de connexion db/api parce que le lease a pas été renouvelé. on utilise le vault agent dans les pods avec le sidecar injecté auto par le mutating webhook

les logs du vault agent montrent rien de fou juste des tentatives de renewal qui échouent sans plus de détails. on dirait que l'agent perd ses creds pour renouveller ou qu'il arrive pas à parler à Vault après un certain temps.

# exemple de config du vault agent simplifié
template:
  destination: "/etc/secrets/db-creds.env"
  contents: |
    DB_USER="{{ .Data.username }}"
    DB_PASSWORD="{{ .Data.password }}"

Commentaires

andre-danielle

Membre depuis le 01/08/2024

yo t'as checké les logs de ton serveur vault pour voir s'il y a des erreurs côté serveur quand le renewal échoue ? des fois c'est un souci de révo ou de quota. et la connectivité réseau entre tes pods et vault est stable dans le temps ? pas un firewall qui kick la conn après x minutes d'inactivité

vbernier

Membre depuis le 28/07/2024

ouais la connectivité. et aussi le token que le vault agent utilise il est bien configuré pour avoir la capabilité de renewal sur le path du secret ? des fois les policies sont trop restrictives et ne permettent pas le renouvèlement

jacqueline-potier

Membre depuis le 16/06/2024

j'ai bien vérifié les policies et le token a les caps renewal create et update sur son propre token. côté network ça a l'air ok le pod arrive à pinger vault tout le temps. par contre en regardant les logs du sidecar vault agent plus attentivement y a une erreur

permission denied
quand il tente de renouveller mais pas sur le secret directement plutôt sur une api interne de vault

andre-danielle

Membre depuis le 01/08/2024

hum

permission denied
c'est pas bon ça. ça ressemble à une policy manquante pour le service account de k8s utilisé par le vault agent. est-ce que le rôle k8s auth que tu utilises dans Vault lui donne bien toutes les permissions nécessaires pour gérer son token notamment pour le wrap info ?

laurent-gerard

Membre depuis le 11/10/2024

c'est clair c'est une histoire de policy. regarde la policy associée à ton rôle k8s dans vault. souvent on oublie

sys/wrapping/unwrap
ou des trucs comme ça qui sont requis pour le cycle de vie des tokens générés pour le vault agent

jacqueline-potier

Membre depuis le 16/06/2024

bingo ! c'était

sys/wrapping/unwrap
et
auth/token/renew
qui manquaient dans la policy associée au rôle k8s. J'ai ajouté ça et les renewals passent nickel. Merci pour le coup de main les gars !

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