Recherche de site Web

Comment utiliser Ansible Vault dans les playbooks pour protéger les données sensibles - Partie 10


Lorsque vous utilisez Ansible, vous devrez peut-être saisir des informations confidentielles ou secrètes dans des playbooks. Cela inclut les clés privées et publiques SSH, les mots de passe et les certificats SSL, pour n’en citer que quelques-uns. Comme nous le savons déjà, il est de mauvaise pratique de sauvegarder ces informations sensibles en texte brut pour des raisons évidentes. Ces informations doivent être gardées sous clé car nous ne pouvons qu’imaginer ce qui se passerait si des pirates informatiques ou des utilisateurs non autorisés s’en emparaient.

Heureusement, Ansible nous fournit une fonctionnalité pratique connue sous le nom d’Ansible Vault. Comme son nom l’indique, Ansible Vault permet de sécuriser des informations secrètes vitales, comme nous l’avons vu précédemment. Ansible Vault peut chiffrer des variables, voire des fichiers entiers et des playbooks YAML, comme nous le démontrerons plus tard. Il s’agit d’un outil très pratique et convivial qui nécessite le même mot de passe lors du cryptage et du décryptage des fichiers.

Plongeons maintenant dans le vif du sujet et avons un aperçu des différentes opérations qui peuvent être effectuées à l’aide du coffre-fort Ansible.

Comment créer un fichier chiffré dans Ansible

Si vous souhaitez créer un fichier Playbook chiffré, il vous suffit d’utiliser la commande ansible-vault create et de fournir le nom de fichier comme indiqué.

# ansible-vault create filename

Par exemple, pour créer un fichier chiffré, mysecrets.yml exécuter la commande.

# ansible-vault create mysecrets.yml

Vous serez ensuite invité à entrer un mot de passe, et après l’avoir confirmé, une nouvelle fenêtre s’ouvrira à l’aide de l’éditeur vi où vous pourrez commencer à écrire vos pièces.

Vous trouverez ci-dessous un échantillon de certaines informations. Une fois que vous avez terminé, il vous suffit d’enregistrer et de quitter le playbook. Et c’est à peu près tout lors de la création d’un fichier crypté.

Pour vérifier le cryptage du fichier, utilisez la commande cat comme indiqué.

# cat mysecrets.yml

Comment afficher un fichier crypté dans Ansible

Si vous souhaitez afficher un fichier chiffré, il vous suffit de passer la commande ansible-vault view comme indiqué ci-dessous.

# ansible-vault view mysecrets.yml

Une fois de plus, vous serez invité à saisir un mot de passe. Encore une fois, vous aurez accès à vos informations.

Comment modifier un fichier chiffré dans Ansible

Pour apporter des modifications à un fichier chiffré, utilisez la commande d’édition ansible-vault comme indiqué.

# ansible-vault edit mysecrets.yml

Comme toujours, fournissez le mot de passe et procédez ensuite à l’édition du fichier.

Une fois que vous avez terminé l’édition, enregistrez et quittez l’éditeur vim.

Comment changer le mot de passe du coffre-fort Ansible

Si vous ressentez le besoin de changer le mot de passe du coffre-fort Ansible, vous pouvez facilement le faire à l’aide de la commande ansible-vault rekey comme indiqué ci-dessous.

# ansible-vault rekey mysecrets.yml

Cela vous invite à entrer le mot de passe du coffre-fort et vous demande ensuite d’entrer le nouveau mot de passe et de le confirmer ultérieurement.

Comment chiffrer un fichier non crypté dans Ansible

Supposons que vous souhaitiez chiffrer un fichier non chiffré, vous pouvez le faire en exécutant la commande ansible-vault encrypt comme indiqué.

# ansible-vault encrypt classified.txt

Vous pouvez afficher ultérieurement le fichier à l’aide de la commande cat, comme indiqué ci-dessous.

Comment déchiffrer un fichier crypté

Pour afficher le contenu d’un fichier chiffré, il vous suffit de déchiffrer le fichier à l’aide du chiffrement ansible-vault, comme illustré dans l’exemple ci-dessous.

# ansible-vault decrypt classified.txt

Comment chiffrer des variables spécifiques dans Ansible

De plus, le coffre-fort Ansible vous donne la possibilité de chiffrer certaines variables. Cela se fait à l’aide de la commande ansible-vault encrypt_string comme indiqué.

# ansible-vault encrypt_string 

Le coffre-fort Ansible vous demandera le mot de passe et vous demandera ensuite de le confirmer. Ensuite, tapez la valeur de chaîne que vous souhaitez chiffrer. Enfin, appuyez sur ctrl+d. Par la suite, vous pouvez commencer à attribuer la valeur chiffrée dans un playbook.

Cela peut être réalisé en une seule ligne, comme indiqué ci-dessous.

# ansible-vault encrypt_string 'string' --name 'variable_name'

Comment déchiffrer un fichier de playbook pendant l’exécution

Si vous disposez d’un fichier de playbook et que vous souhaitez le déchiffrer pendant l’exécution, utilisez l’option --ask-vault-pass comme illustré.

# ansible-playbook deploy.yml --ask-vault-pass

Cela déchiffre tous les fichiers utilisés dans le playbook, à condition qu’ils aient été chiffrés à l’aide du même mot de passe.

Les invites de mot de passe peuvent parfois être ennuyeuses. Ces invites rendent l’automatisation intenable, surtout lorsque l’automatisation est essentielle. Pour simplifier le processus de déchiffrement des playbooks pendant l’exécution, il est recommandé d’avoir un fichier de mot de passe distinct qui contient le mot de passe du coffre-fort Ansible. Ce fichier peut ensuite être passé pendant l’exécution, comme indiqué.

# ansible-playbook deploy.yml --vault-password-file  /home/tecmint/vault_pass.txt

Cela nous amène à la conclusion de ce sujet et de la série d’automatisation Ansible. Nous espérons que les tutoriels vous ont permis d’acquérir des connaissances utiles sur la façon dont vous pouvez automatiser des tâches sur plusieurs serveurs à partir d’un système central.

Articles connexes: