Terraform, GitLab CI et Vault
Deux articles sur la même question prise par les deux bouts : comment une pipeline obtient-elle les credentials dont elle a besoin sans qu’aucun ne soit écrit quelque part ?
Le premier traite de la pipeline elle-même, qui s’authentifie auprès de Vault avec le JWT que GitLab émet déjà et reçoit des credentials AWS qui expirent seuls. Le second traite de l’application que la pipeline déploie, qui a le même problème et le résout avec Vault Agent.
La version parlée est une conférence HashiTalks 2021, sur la chaîne de HashiCorp.
2021
- Sécuriser son déploiement Terraform sur AWS via Gitlab-CI et Vault (application side) Récupérer les secrets de base de données depuis HashiCorp Vault, côté application d'un déploiement GitLab CI, avec Vault Agent et JWT.
- Terraform sur AWS avec GitLab CI et Vault : credentials dynamiques (côté pipeline) Donner à une pipeline GitLab CI des credentials AWS temporaires issus de HashiCorp Vault via l'authentification JWT, sans jamais stocker de clé statique.