Siguiendo con temática Ansible, en el post de hoy vamos a ver la funcionalidad de ansible-vault.
Esta feature lleva disponible desde la versión 1.5 y nos permite encriptar cualquier fichero dentro de la estructura de Ansible
De esta forma, podemos ocultar datos sensibles de nuestro entorno, como contraseñas, IPs, claves SSH…
En el ejemplo que voy a mostrar, vamos a encriptar un fichero de variables que contiene los datos de conexión a mi vCenter
Para crear el fichero ejecutamos ansible-vault create myfile.yml
y lo protegemos con una contraseña:
1 |
|
Mi fichero contendrá las siguientes variables:
1 |
|
Al estar encriptado, al hacer un cat
o vim
de este fichero, no será posible descifrar el contenido y mostrará una salida similar a esta
1 |
|
Para editarlo, necesitaremos otra vez del comando ansible-vault edit myfile.yml
y nos pedira la contraseña de desencriptación:
1 |
|
También es posible encriptar o desencriptar ficheros ya existentes. En este caso, utilizaremos:
1 |
|
y
1 |
|
Para poder usar este fichero encriptado, dispondremos de 2 métodos:
Que nos pida credenciales en tiempo de ejecución
1 |
|
O pasarle por parámetro un fichero .txt que contiene unicamente la contraseña del fichero encriptado. Es importante que este fichero solo contenga una sola linea con la contraseña
1 |
|
Un saludo
Miquel.