yo. si t'es sur k8s et que t'as un ingress controller devant Vault, c'est lui le coupable. beaucoup de ingress controllers (nginx, traefik) terminent le TLS et ne transmettent pas le certificat client à Vault par défaut. il faut que l'ingress soit configuré pour passer le cert client.
on est sur Nginx Ingress Controller. j'ai mis les annotations pour les secrets TLS classiques mais je pensais que c'était suffisant. il faut faire quoi pour le cert client ?
pour Nginx Ingress, tu dois ajouter des annotations spécifiques pour le mTLS. principalement `nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"` et `nginx.ingress.kubernetes.io/auth-tls-secret` qui pointe vers le secret avec ton CA client. Sans ça Nginx fait pas passer le cert client à Vault.
ah ouais merde j'avais complètement zappé l'annotation `auth-tls-verify-client`. je la rajoute et je re-teste. je vous tiens au jus.
ouais c'est la clé. l'ingress doit être configuré pour *demander* et *transmettre* le certificat client. sinon Vault voit pas le cert et te jette.
VOILÀ ! C'était bien ça. J'ai ajouté l'annotation et c'est passé nickel. Vault reçoit bien le cert client. Merci les gars, vous me sauvez la mise !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
martin-hubert
Membre depuis le 07/12/2022actif
salut les pros j'essaie de configurer Vault avec du mTLS pour un client mais ça part en cacahuète. mon client K8s doit s'authentifier à Vault via un certificat, mais Vault refuse la connexion TLS. j'ai des erreurs de type `x509: certificate signed by unknown authority`. j'ai bien monté le CA dans Vault pour qu'il reconnaisse les certs clients.