Introducció a Ansible Vault
Ansible Vault és una eina que permet xifrar dades sensibles, com ara contrasenyes o claus SSH, dins dels fitxers de configuració d'Ansible. Això és especialment útil per mantenir la seguretat i la integritat de la informació confidencial quan es treballa en entorns col·laboratius o es comparteixen playbooks.
Conceptes Clau
- Xifratge: Ansible Vault utilitza AES (Advanced Encryption Standard) per xifrar i desxifrar dades.
- Fitxers Vault: Fitxers que contenen dades xifrades.
- Paraula de pas (password): Utilitzada per xifrar i desxifrar els fitxers Vault.
Creant un Fitxer Vault
Per crear un fitxer Vault, utilitzem la comanda ansible-vault create
. Aquesta comanda obrirà un editor de text on podem introduir les dades que volem xifrar.
Exemple
Després d'executar aquesta comanda, se'ns demanarà una paraula de pas per xifrar el fitxer. Un cop introduïda, s'obrirà l'editor de text per afegir el contingut.
Editant un Fitxer Vault
Per editar un fitxer Vault existent, utilitzem la comanda ansible-vault edit
.
Exemple
Se'ns demanarà la paraula de pas per desxifrar el fitxer i, a continuació, s'obrirà l'editor de text per fer les modificacions necessàries.
Xifrant Fitxers Existents
Si ja tenim un fitxer que volem xifrar, podem utilitzar la comanda ansible-vault encrypt
.
Exemple
Després d'executar aquesta comanda, se'ns demanarà una paraula de pas per xifrar el fitxer.
Desxifrant Fitxers
Per desxifrar un fitxer Vault, utilitzem la comanda ansible-vault decrypt
.
Exemple
Se'ns demanarà la paraula de pas per desxifrar el fitxer, i el contingut es desxifrarà i es guardarà en text pla.
Utilitzant Fitxers Vault en Playbooks
Podem utilitzar fitxers Vault en els nostres playbooks de la mateixa manera que utilitzem qualsevol altre fitxer de variables. Ansible gestionarà automàticament el desxifratge quan s'executi el playbook.
Exemple de Playbook
--- - name: Exemple d'ús de Vault hosts: localhost vars_files: - secret.yml tasks: - name: Mostra la contrasenya de la base de dades debug: msg: "La contrasenya de la base de dades és {{ db_password }}"
Canviant la Paraula de Pas
Si necessitem canviar la paraula de pas d'un fitxer Vault, utilitzem la comanda ansible-vault rekey
.
Exemple
Se'ns demanarà la paraula de pas actual i, a continuació, la nova paraula de pas.
Exercicis Pràctics
Exercici 1: Creació i Ús d'un Fitxer Vault
- Crea un fitxer Vault anomenat
credentials.yml
que contingui una variableapi_key
amb un valor fictici. - Escriu un playbook que utilitzi aquest fitxer Vault i mostri el valor de
api_key
utilitzant el mòduldebug
.
Solució
- Crear el fitxer Vault:
Contingut del fitxer:
- Escriure el playbook:
--- - name: Exemple d'ús de Vault hosts: localhost vars_files: - credentials.yml tasks: - name: Mostra l'API Key debug: msg: "L'API Key és {{ api_key }}"
Exercici 2: Xifrar un Fitxer Existents
- Crea un fitxer anomenat
config.yml
amb una variabledb_user
i un valor fictici. - Xifra el fitxer utilitzant Ansible Vault.
Solució
- Crear el fitxer
config.yml
:
- Xifrar el fitxer:
Resum
En aquesta secció hem après a utilitzar Ansible Vault per xifrar i gestionar dades sensibles dins dels nostres playbooks. Hem vist com crear, editar, xifrar i desxifrar fitxers Vault, així com utilitzar-los en els nostres playbooks. També hem practicat aquests conceptes amb exercicis pràctics per reforçar l'aprenentatge.
Ansible: De Principiant a Avançat
Mòdul 1: Introducció a Ansible
Mòdul 2: Conceptes bàsics d'Ansible
Mòdul 3: Playbooks
- Introducció als Playbooks
- Escrivint el teu primer Playbook
- Estructura del Playbook
- Variables i Fets
- Condicionals i Bucles
Mòdul 4: Rols
Mòdul 5: Tècniques Avançades de Playbook
Mòdul 6: Ansible Galaxy
Mòdul 7: Ansible Tower
- Introducció a Ansible Tower
- Instal·lant Ansible Tower
- Utilitzant Ansible Tower
- Gestionant Projectes i Inventaris