Kuidas kasutada tundlike andmete kaitsmiseks raamatut Ansible Vault - 10. osa
Kui kasutate rakendust Ansible, võite nõuda, et sisestate mänguraamatutesse konfidentsiaalse või salajase teabe. Siia hulka kuuluvad SSH privaat- ja avalikud võtmed, paroolid ja SSL-sertifikaadid. Nagu me juba teame, on halb tava selle tundliku teabe salvestamine arusaadavatel põhjustel lihttekstina. Seda teavet tuleb hoida luku ja võtme all, sest võime vaid ette kujutada, mis juhtuks, kui häkkerid või volitamata kasutajad selle kätte saaksid.
Õnneks pakub Ansible meile käepärase funktsiooni, mida nimetatakse Ansible Vaultiks. Nagu nimigi ütleb, aitab Ansible Vault kindlustada olulist salajast teavet, nagu oleme varem arutanud. Nagu hiljem demonstreerime, saab Ansible Vault krüptida muutujaid või isegi terveid faile ja YAML-i raamatuid. See on väga mugav ja kasutajasõbralik tööriist, mis nõuab failide krüptimisel ja dekrüpteerimisel sama parooli.
Sukeldume nüüd ja omame ülevaadet erinevatest toimingutest, mida saab teha Ansible vault'i abil.
Kuidas luua krüptitud faili rakenduses Ansible
Kui soovite luua krüptitud Playbooki faili, kasutage lihtsalt käsku ansible-vault create ja sisestage failinimi nagu näidatud.
# ansible-vault create filename
Näiteks krüptitud faili mysecrets.yml loomiseks käivitage käsk.
# ansible-vault create mysecrets.yml
Seejärel küsitakse teilt parooli ja pärast selle kinnitamist avaneb vi redaktori abil uus aken, kus saate oma näidendeid kirjutama hakata.
Allpool on näidis mõnest teabest. Kui olete lõpetanud, lihtsalt salvestage ja lahkuge mängukirjast. Ja see on krüpteeritud faili loomisel just sellest.
Faili krüptimise kontrollimiseks kasutage kassi käsku, nagu näidatud.
# cat mysecrets.yml
Kuidas vaadata krüptitud faili rakenduses Ansible
Kui soovite vaadata krüpteeritud faili, edastage lihtsalt ansible-vault view käsk, nagu allpool näidatud.
# ansible-vault view mysecrets.yml
Veelkord küsitakse teilt parooli. Jällegi on teil juurdepääs oma teabele.
Kuidas muuta krüptitud faili rakenduses Ansible
Krüptitud failis muudatuste tegemiseks kasutage ansible-vault edit käsku, nagu näidatud.
# ansible-vault edit mysecrets.yml
Nagu alati, sisestage parool ja jätkake seejärel faili muutmist.
Pärast redigeerimise lõpetamist salvestage vimiredaktor ja väljuge sellest.
Kuidas muuta kustutatava varahoidla parooli
Kui tunnete vajadust muuta Ansible vault parooli, saate seda hõlpsalt kasutada allpool näidatud käsu ansible-vault rekey abil.
# ansible-vault rekey mysecrets.yml
See küsib teilt hoidla parooli ja hiljem palutakse teil sisestada uus parool ja hiljem see kinnitada.
Krüptimata faili krüptimine rakenduses Ansible
Oletame, et soovite krüpteerida krüptimata faili, saate seda teha, käivitades ansible-vault krüptimise käsu, nagu näidatud.
# ansible-vault encrypt classified.txt
Hiljem saate faili vaadata kassi käsu abil, nagu allpool näidatud.
Krüptitud faili dekrüpteerimine
Krüptitud faili sisu vaatamiseks dekrüpteerige fail lihtsalt ansible-vault krüpteerimise abil, nagu on näidatud allpool toodud näites.
# ansible-vault decrypt classified.txt
Konkreetsete muutujate krüptimine rakenduses Ansible
Lisaks annab Ansible vault võimaluse teatud muutujaid krüptida. Selleks kasutatakse käsku ansible-vault encrypt_string, nagu näidatud.
# ansible-vault encrypt_string
Ansible vault küsib teilt parooli ja nõuab hiljem selle kinnitamist. Järgmisena tippige stringi väärtus, mille soovite krüptida. Lõpuks vajutage klahvi ctrl+d
. Seejärel võite hakata krüptitud väärtust omistama esitusraamatusse.
Seda saab saavutada ühe joonega, nagu allpool näidatud.
# ansible-vault encrypt_string 'string' --name 'variable_name'
Kuidas esitusraamatu faili tööaja jooksul dekrüpteerida
Kui teil on mängukirjafail ja soovite selle käitamise ajal dekrüpteerida, kasutage valikut --ask-vault-pass
, nagu illustreeritud.
# ansible-playbook deploy.yml --ask-vault-pass
See dekrüpteerib kõik esitusraamatus kasutatud failid tingimusel, et need krüpteeriti sama parooliga.
Parooliviip võib olla kohati tüütu. Need viited muudavad automaatika püsimatuks, eriti kui automaatika on võtmetähtsusega. Esitusraamatute dekrüpteerimise käitamise ajal sujuvamaks muutmiseks on soovitatav kasutada eraldi paroolifaili, mis sisaldab Ansible vault parooli. Seejärel saab selle faili käitamise ajal edastada, nagu näidatud.
# ansible-playbook deploy.yml --vault-password-file /home/tecmint/vault_pass.txt
Nii jõuame selle teema ja Ansible automatiseerimise sarja järelduseni. Loodame, et õpetused on andnud kasulikke teadmisi selle kohta, kuidas saate ühest kesksüsteemist mitme serveri ülesandeid automatiseerida.