intégrer vault dans notre gitlab ci pour les secrets comment faire

chevalier-matthieu 29/06/2024
RÉSOLU
chevalier-matthieu
Auteur Actif
Avatar de chevalier-matthieu
chevalier-matthieu
Auteur Actif

salut les pros des secrets. on a un vault centralisé et on veut l'intégrer proprement dans nos pipelines gitlab ci. l'idée c que les jobs puissent récupérer des secrets (clés api, credentials db, etc.) sans que ces secrets ne soient exposés en clair. vous avez déjà fait ça ? quelle est la bonne approche niveau sécu/ergonomie ?


# exemple de job gitlab-ci qu'on veut "sécuriser"
build_and_deploy:
  stage: deploy
  script:
    - docker build -t myapp .
    - aws ecr push myapp
    - deploy-script --api-key $SUPER_SECRET_API_KEY
29/06/2024 à 09:34

11 commentaires

lucy38
Membre Actif Secouriste
Avatar de lucy38
lucy38
Membre Actif Secouriste

le plus simple et sécurisé c d'utiliser l'auth method jwt de vault avec gitlab. chaque job gitlab ci génère un jwt que vault peut valider. tu crées un rôle vault qui mappe à des chemins gitlab spécifiques et des branches pour limiter l'accès.

Modifié le 23/05/2026 à 16:20

oui le jwt auth method c'est le standard. tu configures un auth backend de type jwt sur vault puis tu y maps des rôles. ces rôles définissent les chemins vault auxquels un job gitlab donné a accès et pour quelle durée.

Modifié le 23/05/2026 à 16:20
anais-bruneau
Membre Actif Secouriste
Avatar de anais-bruneau
anais-bruneau
Membre Actif Secouriste

côté gitlab-ci ton job va se faire un vault login avec le jwt et récupérer un token vault de courte durée. ensuite il utilise ce token pour lire les secrets via vault kv get ou les injecter via vault agent si c'est une vm persistante.

Modifié le 23/05/2026 à 16:20
lucy38
Membre Actif Secouriste
Avatar de lucy38
lucy38
Membre Actif Secouriste

pour les secrets dynamiques c'est encore mieux. par exemple pour une db tu peux créer un rôle qui donne des creds temporaires. comme ça même si le secret est leaké il expire vite.

02/07/2024 à 19:36
chevalier-matthieu
Auteur Actif
Avatar de chevalier-matthieu
chevalier-matthieu
Auteur Actif

ok jwt auth ça me parle. on configure le backend, les rôles. et après dans mon job gitlab-ci je dois faire un curl vers vault pour le login puis un autre curl pour récupérer le secret ? ça fait pas mal de bruit dans le script.

Modifié le 23/05/2026 à 16:20

tu peux utiliser l'image officielle vault comme service dans ton job gitlab-ci. ça simplifie. le vault login te renvoie un VAULT_TOKEN que tu peux exporter et utiliser pour les requêtes suivantes.

Modifié le 23/05/2026 à 16:20
anais-bruneau
Membre Actif Secouriste
Avatar de anais-bruneau
anais-bruneau
Membre Actif Secouriste

et surtout configure tes policies vault pour être le plus restrictif possible. un job ne doit pouvoir lire que les secrets dont il a absolument besoin pour son exécution. principe du moindre privilège.

05/07/2024 à 07:40
lucy38
Membre Actif Secouriste
Avatar de lucy38
lucy38
Membre Actif Secouriste

si t'as plein de services qui interagissent avec vault dans tes jobs regarde le vault agent en mode sidecar. il gère l'authentification et le renouvellement du token pour toi et peut injecter les secrets directement dans des fichiers ou des variables d'environnement.

Modifié le 23/05/2026 à 16:20
chevalier-matthieu
Auteur Actif
Avatar de chevalier-matthieu
chevalier-matthieu
Auteur Actif

ah le vault agent ça a l'air super pratique pour éviter les scripts complexes. je vais creuser ça. et les policies restrictives c'est prévu. merci pour toutes ces pistes très utiles.

Modifié le 23/05/2026 à 16:20
lucy38
Membre Actif Secouriste
Avatar de lucy38
lucy38
Membre Actif Secouriste

pas de soucis. hésite pas si t'as des questions plus spécifiques quand tu vas mettre les mains dedans. c'est un peu de config au début mais après c'est super robuste.

07/07/2024 à 22:12
chevalier-matthieu
Auteur Actif
Avatar de chevalier-matthieu
chevalier-matthieu
Auteur Actif

nickel je vous tiendrai au jus. thx encore !

08/07/2024 à 21:26

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