vault agent template inject secret pas à jour

Posté par astrid-gay le 19/09/2024
RÉSOLU

astrid-gay

Membre depuis le 25/03/2023

salut la team

on a mis en place vault agent sur nos apps pour injecter les secrets directement dans des fichiers. la config marche nickel au démarrage l'appli voit bien le secret initial. par contre quand je renouvelle le secret dans vault ou que je le change ben le fichier sur la vm est pas mis à jour direct. j'ai l'impression que vault agent met du temps à réagir ou ptete l'appli qui relit pas le fichier. une idée ?


# config vault agent (simplifié)
pid_file = "/var/run/vault-agent.pid"
auto_auth {
  method "aws" {
    mount_path = "auth/aws"
    config = {
      role = "my-app-role"
    }
  }
  sink "file" {
    config = {
      path = "/etc/vault/token"
      mode = 0600
    }
  }
}
template {
  source      = "/vault/templates/db_creds.ctmpl"
  destination = "/opt/app/config/db_creds.env"
  command     = "systemctl reload my-app.service" # j'ai testé ça aussi
}

Commentaires

tmaillard

Membre depuis le 04/04/2019

yo t'as vérifié le `min_period` dans ta config template ? par défaut c'est 5s il me semble mais si t'as pas spécifié explicitement un `change_mode` ou un `period` ça peut jouer des tours. aussi ton `command` c'est executé que si le fichier change non ? si le secret change mais le template génère la même chose pas de commande

astrid-gay

Membre depuis le 25/03/2023

ah bien vu pour `min_period` j'ai rien mis. et pour la commande oui normalement elle est déclenchée. le problème c'est que le fichier `/opt/app/config/db_creds.env` lui-même est pas mis à jour. je vois toujours l'ancien secret dedans

eleonore22

Membre depuis le 26/08/2024

hmm regarde les logs de vault agent en debug `vault agent -log-level=debug`. tu devrais voir s'il détecte le renouvellement du secret et s'il essaie de render le template. des fois c'est juste un souci de droits sur le fichier de destination ou le répertoire

astrid-gay

Membre depuis le 25/03/2023

ok je vais checker les logs en debug thx. mais pour les droits je suis sûr c'est bon le fichier est créé par l'agent et c'est le même user qui le lit

tmaillard

Membre depuis le 04/04/2019

t'as pas un `exit_on_retry_failure` dans ton auto_auth ? si l'agent perd sa connexion à vault et galère à se réauthentifier il peut rester en mode "stale" et ne pas puller les updates. ou ptete un souci de clock skew entre ta vm et vault qui perturbe les ttl

renee-sanchez

Membre depuis le 04/05/2019

et ton `source` de template c'est bien un fichier local ou c'est un truc de conf consul-template ? si c'est un fichier local il faut qu'il soit rafraîchi lui aussi. vault agent s'occupe des valeurs du secret mais pas du template lui-même s'il est statique

astrid-gay

Membre depuis le 25/03/2023

c'était bien la clock skew en fait ! la vm avait décalé de quelques minutes par rapport au serveur vault ce qui foutait le bordel sur les ttl des tokens et des secrets. un petit `ntpdate` et hop tout est rentré dans l'ordre les secrets sont maintenant rafraîchis instantanément. merci 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