Pourquoi Ansible Vault ?
Ansible Vault permet de chiffrer des fichiers ou des variables contenant des donnees sensibles (mots de passe, cles API, certificats). Les secrets chiffres peuvent etre stockes en toute securite dans un depot Git.
Creer un fichier chiffre
# Creer un nouveau fichier chiffre
ansible-vault create secrets.yml
# Un editeur s'ouvre pour saisir le contenu
# Le fichier est chiffre a la sauvegarde
# Contenu typique de secrets.yml
db_password: "SuperSecret123!"
api_key: "sk-abc123def456"
ssl_private_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA...
-----END RSA PRIVATE KEY-----
Chiffrer un fichier existant
# Chiffrer un fichier existant
ansible-vault encrypt vars/secrets.yml
# Le fichier est remplace par sa version chiffree
# Contenu du fichier chiffre :
# $ANSIBLE_VAULT;1.1;AES256
# 3836316566396665633035363...
# Dechiffrer un fichier
ansible-vault decrypt vars/secrets.yml
# Editer un fichier chiffre (dechiffre temporairement)
ansible-vault edit vars/secrets.yml
# Afficher le contenu sans dechiffrer le fichier
ansible-vault view vars/secrets.yml
Chiffrer une variable unique
# Chiffrer une seule valeur
ansible-vault encrypt_string "SuperSecret123!" --name "db_password"
# Resultat :
# db_password: !vault |
# $ANSIBLE_VAULT;1.1;AES256
# 3836316566396665633035363...
# Utiliser dans un fichier de variables
# vars/main.yml
app_name: myapp
app_port: 8080
db_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
3836316566396665633035363...
Changer le mot de passe Vault
# Changer le mot de passe d'un fichier chiffre
ansible-vault rekey secrets.yml
# Changer le mot de passe de plusieurs fichiers
ansible-vault rekey secrets.yml other-secrets.yml
Securite : Ne commitez jamais des secrets en clair dans Git. Utilisez toujours Ansible Vault pour les donnees sensibles.