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.ymlque contingui una variableapi_keyamb un valor fictici. - Escriu un playbook que utilitzi aquest fitxer Vault i mostri el valor de
api_keyutilitzant 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.ymlamb una variabledb_useri 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
