Problème avec les politiques Vault, pas d'accès aux secrets

chartier-augustin 14/04/2025
RÉSOLU

yo la team ! je galère avec Vault. j'ai un nouveau service qui doit récupérer des secrets dans un path spécifique genre secret/data/my-app/dev/db-creds. j'ai créé une politique qui me semble correcte mais le service se prend un permission denied quand il essaie de lire. je dois louper un truc évident


# ma policy vault
path "secret/data/my-app/dev/db-creds" {
  capabilities = ["read", "list"]
}
14/04/2025 à 13:18

7 commentaires

hello ! pour secret/data tu es sur un KV V2. ça veut dire que le path réel des données est secret/data/my-app/dev/db-creds mais le path pour la politique devrait être secret/data/my-app/dev/db-creds/* ou secret/data/my-app/dev/db-creds si tu veux lire que l'objet en entier sans les versions ou metadata

15/04/2025 à 12:07

ah ok le joker ! je suis tellement habitué au v1 que j'oublie toujours ça. donc il faut que je mette secret/data/my-app/dev/db-creds/* si je veux donner accès à tout ce qui est sous db-creds ? et si je veux lire que l'objet à ce path précis c'est quoi le bon chemin ?

16/04/2025 à 06:54

si tu veux lire l'objet db-creds lui-même avec son contenu, le path dans la policy doit être secret/data/my-app/dev/db-creds et dans ce cas ton service fait vault read secret/data/my-app/dev/db-creds. si tu veux donner accès à tout ce qui peut exister sous db-creds (genre db-creds/user, db-creds/pass) alors oui, secret/data/my-app/dev/db-creds/* avec la capacité read

17/04/2025 à 06:10
alain-ollivier
Membre Actif
Avatar de alain-ollivier
alain-ollivier
Membre Actif

et attention à la différence entre secret/data/... et secret/metadata/... pour les capacités list. list sur secret/data/... te permet de voir les clés enfants mais pour voir les versions ou metadata d'un secret il faut des droits sur secret/metadata/...

18/04/2025 à 03:08

pfiou c'est toujours un peu tricky avec v2. bon je vais essayer de changer ma policy pour mettre secret/data/my-app/dev/db-creds sans le joker et tester. le service lit juste l'objet final. je vous tiens au jus

19/04/2025 à 01:35

oui teste ça c'est la source d'erreurs la plus fréquente. et redémarre ton client vault ou refais un login après avoir changé la policy pour qu'il récupère les nouveaux tokens/capabilities

19/04/2025 à 21:13

c'était ça ! j'ai juste mis path "secret/data/my-app/dev/db-creds" { capabilities = ["read"] } et ça passe nickel. merci les gars pour le coup de main j'aurais tourné en rond longtemps

20/04/2025 à 17:11

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