Wéi benotzt Ansible Vault a Playbooks fir sensibel Donnéeën ze schützen - Deel 10


Wann Dir iwwer d'Benotzung vun Ansible geet, kënnt Dir verlaangt sinn e puer vertraulech oder geheim Informatioun a Spillbicher aschreiwen. Dëst beinhalt SSH privat an ëffentlech Schlësselen, Passwierder an SSL Certificaten fir nëmmen e puer ze nennen. Wéi mir scho wëssen, ass seng schlecht Praxis dës sensibel Informatioun am Kloertext aus offensichtleche Grënn ze späicheren. Dës Informatioun muss ënner Schloss a Schlëssel gehale ginn, well mir kënne mir nëmme virstellen wat géif geschéien wann Hacker oder onerlaabt Benotzer et kréien.

Glécklecherweis bitt Ansible eis eng praktesch Feature bekannt als Ansible Vault. Wéi den Numm et scho seet, hëlleft den Ansible Vault vital geheim Informatioun ze sécheren wéi mir virdru diskutéiert hunn. Ansible Vault kann Variabelen verschlësselen, oder souguer ganz Dateien an YAML Playbooks wéi mir spéider weisen. Et ass e ganz praktescht a userfrëndlecht Tool dat datselwecht Passwuert erfuerdert wann Dir Dateien verschlësselt an entschlësselt.

Loosst eis elo tauchen an en Iwwerbléck iwwer déi verschidden Operatiounen hunn, déi mat Ansible Vault ausgefouert kënne ginn.

Wéi eng verschlësselte Datei an Ansible erstellen

Wann Dir eng verschlësselte Playbook Datei erstellen wëllt, benotzt einfach den Ansible-Vault Create Kommando a gitt den Dateinumm wéi gewisen.

# ansible-vault create filename

Zum Beispill, fir eng verschlësselte Datei mysecrets.yml ze kreéieren, fuert de Kommando aus.

# ansible-vault create mysecrets.yml

Dir wäert duerno fir e Passwuert gefrot ginn, an nodeems Dir dat bestätegt, gëtt eng nei Fënster op mam vi Editor, wou Dir kënnt ufänken Är Spiller ze schreiwen.

Drënner ass e Beispill vun e puer Informatiounen. Wann Dir fäerdeg sidd, späichert a gitt d'Spillbuch aus. An dat ass just doriwwer wann Dir eng verschlësselte Datei erstellt.

Fir d'Dateienverschlësselung z'iwwerpréiwen, benotzt de Cat Kommando wéi gewisen.

# cat mysecrets.yml

Wéi eng verschlësselte Datei an Ansible ze gesinn

Wann Dir eng verschlësselte Datei kucke wëllt, gitt einfach den Ansible-Vault View Kommando wéi hei ënnendrënner.

# ansible-vault view mysecrets.yml

Nach eng Kéier wäert Dir fir e Passwuert gefrot ginn. Nach eng Kéier, hutt Dir Zougang zu Är Informatioun.

Wéi änneren ech eng verschlësselte Datei an Ansible

Fir Ännerungen an enger verschlësselter Datei ze maachen, benotzt den ansible-Vault Edit Kommando wéi gewisen.

# ansible-vault edit mysecrets.yml

Wéi ëmmer, gitt d'Passwuert a gitt duerno weider mat der Ännerung vun der Datei.

Nodeems Dir fäerdeg sidd z'änneren, späichert a gitt de vim Editor aus.

Wéi Ännere Ansible Vault Passwuert

Am Fall wou Dir d'Noutwennegkeet fillt d'Ansible Vault Passwuert z'änneren, kënnt Dir dat einfach maachen mat dem Ansible-Vault rekey Kommando wéi hei ënnendrënner.

# ansible-vault rekey mysecrets.yml

Dëst freet Iech fir d'Vault Passwuert a spéider freet Iech dat neit Passwuert a spéider ze bestätegen.

Wéi verschlësselt ech eng onverschlësselte Datei am Ansible

Ugeholl datt Dir eng onverschlësselte Datei verschlëssele wëllt, Dir kënnt dat maachen andeems Dir den ansible-Vault Encrypt Kommando ausféiert wéi gewisen.

# ansible-vault encrypt classified.txt

Dir kënnt spéider d'Datei mat dem Cat Kommando kucken wéi hei ënnendrënner.

Wéi decrypt eng verschlësselte Datei

Fir den Inhalt vun enger verschlësselter Datei ze gesinn, entschlësselt d'Datei einfach mat der Ansible-Vault Verschlësselung wéi am Beispill hei ënnen illustréiert.

# ansible-vault decrypt classified.txt

Wéi verschlësselte spezifesch Variablen an Ansible

Zousätzlech, Ansible Vault gëtt Iech d'Fäegkeet fir verschidde Variabelen ze verschlësselen. Dëst gëtt gemaach mat dem ansible-vault encrypt_string Kommando wéi gewisen.

# ansible-vault encrypt_string 

Ansible Vault wäert Iech fir d'Passwuert froen a spéider verlaangen datt Dir et bestätegen. Als nächst gitt de Stringwäert deen Dir verschlëssele wëllt. Schlussendlech dréckt ctrl+d. Duerno kënnt Dir de verschlësselte Wäert an engem Spillbuch ufänken.

Dëst kann an enger eenzeger Linn erreecht ginn wéi hei ënnendrënner.

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

Wéi entschlësselt eng Playbook Datei wärend der Runtime

Wann Dir eng Playbook-Datei hutt a se während der Runtime entschlësselen wëllt, benotzt d'Optioun --ask-vault-pass wéi illustréiert.

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

Dëst entschlësselt all d'Fichier'en, déi am Spillbuch benotzt ginn, virausgesat datt se mat deemselwechte Passwuert verschlësselt goufen.

D'Passwuert Ufroe kënnen heiansdo lästeg sinn. Dës Ufroe maachen d'Automatisatioun onhaltbar, besonnesch wann d'Automatisatioun Schlëssel ass. Fir de Prozess vun der Entschlësselung vu Playbooks während der Runtime ze streamline, ass et recommandéiert eng separat Passwuertdatei ze hunn déi den Ansible Vault Passwuert enthält. Dës Datei kann dann während der Runtime passéiert ginn wéi gewisen.

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

Dëst bréngt eis zum Schluss vun dësem Thema an der Ansible Automatiounsserie. Mir hoffen datt d'Tutorials e puer nëtzlech Wëssen infuséiert hunn wéi Dir Aufgaben iwwer verschidde Servere vun engem zentrale System automatiséiert.