Table of Contents
Cómo usar Ansible Vault en Playbooks para proteger datos confidenciales-Parte 10
A medida que vayas usando Ansible, es posible que debas ingresar información confidencial o secreta en los libros de jugadas. Esto incluye claves públicas y privadas SSH, contraseñas y certificados SSL, por mencionar solo algunos. Como ya sabemos, es una mala práctica guardar esta información sensible en texto plano por razones obvias. Esta información debe mantenerse bajo llave porque solo podemos imaginar lo que sucedería si los piratas informáticos o usuarios no autorizados se apoderaran de ella.
Afortunadamente, Ansible nos proporciona una función útil conocida como Ansible Vault. Como su nombre indica, el Ansible Vault. ayuda a proteger información secreta vital, como hemos comentado anteriormente. Ansible Vault. puede cifrar variables, o incluso archivos completos y libros de jugadas YAML, como demostraremos más adelante. Es una herramienta muy útil y fácil de usar que requiere la misma contraseña para encriptar y desencriptar archivos.
Ahora profundicemos y tengamos una descripción general de las diversas operaciones que se pueden llevar a cabo usando Ansible Vault.
Cómo crear un archivo cifrado en Ansible
Si desea crear un archivo Playbook. cifrado, simplemente use el ansible-vault create. y proporcione el nombre de archivo como se muestra.
# ansible-vault create filename
Por ejemplo, para crear un archivo cifrado mysecrets.yml. ejecute el comando.
# ansible-vault create mysecrets.yml freestar.config.enabled_slots.push
A partir de entonces, se le pedirá una contraseña y después de confirmar, se abrirá una nueva ventana usando el editor vi donde puede comenzar a escribir sus obras.
Crear un archivo cifrado en Ansible
A continuación se muestra una muestra de información. Una vez que haya terminado, simplemente guarde y salga del libro de jugadas. Y eso es todo al crear un archivo cifrado.
Archivo cifrado en Ansible
Para verificar el cifrado del archivo, use el comando cat como se muestra.
# cat mysecrets.yml
Verificar archivo cifrado en Ansible
Cómo ver un archivo cifrado en Ansible
Si desea ver un archivo cifrado, simplemente pase el ansible-vault view. como se muestra a continuación.
# ansible-vault view mysecrets.yml
Una vez más, se le pedirá una contraseña. Una vez más, tendrá acceso a su información.
Ver Archivo cifrado en Ansible
Cómo editar un archivo cifrado en Ansible
Para realizar cambios en un archivo cifrado, utilice el comando ansible-vault edit. como se muestra.
# ansible-vault edit mysecrets.yml
Como siempre, proporcione la contraseña y luego proceda a editar el archivo.
Editar archivo cifrado en Ansible
Una vez que haya terminado editar, guardar y salir del editor de vim.
Cómo cambiar la contraseña de Ansible Vault
En caso de que sienta la necesidad de cambiar la contraseña de Ansible Vault, puede hacerlo fácilmente usando el ansible-vault rekey. como se muestra a continuación.
# ansible-vault rekey mysecrets.yml
Cambiar la contraseña de la bóveda de Ansible
Esto le solicita la contraseña de la bóveda y luego le solicita que ingrese la nueva contraseña y luego la confirme.
Cómo cifrar un archivo no cifrado en Ansible
Suponga que desea cifrar un archivo no cifrado, puede hacerlo ejecutando el comando ansible-vault encrypt. como se muestra .
# ansible-vault encrypt Classified.txt
Cifrar un archivo sin cifrar
Puede ver el archivo más tarde con la comando cat como se indica a continuación.
Ver archivo cifrado
Cómo descifrar un archivo cifrado
Para ver el contenido de un archivo cifrado, simplemente descifre el archivo usando el cifrado de ansible-vault. como se ilustra en el ejemplo a continuación.
# ansible-vault descifrar Classified.txt
Descifrar un archivo cifrado
Cómo cifrar variables específicas en Ansible
Además, la bóveda de Ansible le otorga la capacidad de cifrar ciertas variables. Esto se hace usando el comando ansible-vault encrypt_string. como se muestra.
# ansible-vault encrypt_string
Variables específicas cifradas en Ansible
La bóveda de Ansible le pedirá la contraseña y luego le pedirá que la confirme. A continuación, escriba el valor de la cadena que desea cifrar. Finalmente, presione ctrl + d. A partir de entonces, puede comenzar a asignar el valor cifrado en un libro de jugadas.
Esto se puede lograr en una sola línea como se muestra a continuación.
# ansible-vault encrypt_string ‘string’–name ‘variable_name’
Asignar valor cifrado en Ansible Playbook
Cómo descifrar un archivo de Playbook durante el tiempo de ejecución
Si tiene un archivo de Playbook y desea descifrarlo durante el tiempo de ejecución, utilice el-opción ask-vault-pass como se ilustra.
# ansible-playbook deploy.yml–ask-vault-pass
Descifrar archivo de Playbook durante el tiempo de ejecución
Este descifra todos los archivos que se utilizan en el libro de jugadas siempre que se hayan cifrado con la misma contraseña.
Las solicitudes de contraseña pueden resultar molestas en ocasiones. Estas indicaciones hacen que la automatización sea insostenible, especialmente cuando la automatización es clave. Para agilizar el proceso de descifrar los libros de jugadas durante el tiempo de ejecución, se recomienda tener un archivo de contraseña separado que contenga la contraseña de la bóveda de Ansible. Este archivo se puede pasar durante el tiempo de ejecución como se muestra.
# ansible-playbook deploy.yml–vault-password-file/home/tecmint/vault_pass.txt
Esto nos lleva a la conclusión de este tema y la serie de automatización Ansible. Esperamos que los tutoriales le hayan aportado conocimientos útiles sobre cómo puede automatizar tareas en varios servidores desde un sistema central.