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
An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.