AnsibleSécuritéDevOps

Ansible Vault : gérer les secrets sans les exposer dans Git

15 juillet 2026 · Sphinx-Digital

Committer un mot de passe ou une clé API dans Git est une des erreurs les plus communes en infrastructure. Ansible Vault est la réponse intégrée à ce problème.

Les bases : chiffrer un fichier de variables

# Chiffrer un fichier existant
ansible-vault encrypt group_vars/prod/secrets.yml

# Créer un nouveau fichier chiffré
ansible-vault create group_vars/prod/secrets.yml

# Contenu d'un fichier vault
db_password: "s3cr3t-production-pwd"
api_key: "sk-prod-xxxxxxxxxxxx"
smtp_password: "mail-secret"

Le fichier est stocké chiffré dans Git. Seul quelqu’un qui possède le mot de passe vault peut le déchiffrer.

Plusieurs mots de passe vault : vault-id

Pour des environnements différents (dev, staging, prod), utilisez des vault-ids séparés :

# Chiffrer avec un vault-id spécifique
ansible-vault encrypt --vault-id prod@prompt group_vars/prod/secrets.yml
ansible-vault encrypt --vault-id staging@~/.vault-staging group_vars/staging/secrets.yml

# Lancer le playbook avec plusieurs vault-ids
ansible-playbook site.yml \
  --vault-id prod@~/.vault-prod \
  --vault-id staging@~/.vault-staging

Intégration CI/CD

# GitLab CI — stocker le mot de passe vault dans une variable CI
deploy:
  script:
    - echo "$ANSIBLE_VAULT_PASSWORD" > .vault-pass
    - ansible-playbook site.yml --vault-password-file .vault-pass
    - rm .vault-pass   # toujours nettoyer

La variable $ANSIBLE_VAULT_PASSWORD est stockée dans les variables CI/CD GitLab, chiffrée et masquée dans les logs.

Chiffrer uniquement les valeurs, pas le fichier entier

# group_vars/prod/vars.yml — format mixte lisible
db_host: "db.prod.example.com"
db_port: 5432
db_password: !vault |
  $ANSIBLE_VAULT;1.1;AES256
  61626364...   # valeur chiffrée inline

Avec ansible-vault encrypt_string, seules les valeurs sensibles sont chiffrées. Le reste du fichier est lisible — meilleur pour les revues de code.

Notre formation Ansible couvre Vault et la gestion des secrets dans les playbooks de production.