Kindlustage oma saladused Ansible Vault'iga

Selles Ansible Vault ajaveebis selgitatakse, kuidas tundlikke andmeid (paroolid / salajase võtme / sertfailid) krüptitud failides hoitakse ja ansible Playbooksisse manustatakse.

Mida rohkem kasutatakse tehnoloogiat, seda suurem on võimalik turvalisuse oht. Tüüpiline Ansible'i seadistamine nõuab teil saladuste sisestamist. Need saladused võivad olla sõna otseses mõttes kõik, paroolid, API-märgid, SSH-i avalikud või privaatvõtmed, SSL-sertifikaadid jne. Kuidas neid saladusi turvaliselt hoida? Ansible pakub funktsiooni nimega Ansible Vault.

Selles ajaveebis näitan, kuidas kasutada Ansible Vault'i, ja uurin mõningaid parimaid tavasid andmete turvaliseks hoidmiseks.





Selles blogis käsitletud teemad:

Kui soovite DevOpsit valdada, ' kursus oleks teie valikuvõimalus.



Mis on Ansible Vault?

Infrastruktuuri olemasolu koodina võib ohustada teie tundlike andmete avaldamist kogu maailmas, mis võib põhjustada soovimatuid turbeprobleeme. Ansible Vault on funktsioon, mis võimaldab teil hoida kõiki oma saladusi. See võib krüptida terveid faile, terveid YAML-i raamatuid või isegi mõnda muutujat. See pakub võimalust, kus saate tundlikke andmeid mitte ainult krüptida, vaid ka integreerida need oma raamatutesse.

Vault on rakendatud failitasemel üksikasjalikult, kus failid on kas täielikult krüptitud või täielikult krüptimata. See kasutab sama parooli nii krüptimiseks kui ka failide dekrüpteerimiseks, mis muudab Ansible Vault'i kasutamise väga kasutajasõbralikuks.

Miks kasutada Ansible Vault?

Kuna Annerit kasutatakse automatiseerimiseks, on suur võimalus, et esiraamatud sisaldavad teatud mandaate, SSL-i sertifikaate või muid tundlikke andmeid. Selliste tundlike andmete nagu tavaline tekst salvestamine on halb mõte. Üks vale pühendumine GitHubi või sülearvuti vargusele võib põhjustada organisatsioonile tohutu kahju. Siin tuleb pildile Ansible vault. See on suurepärane viis infrastruktuuri kasutamiseks koodina, turvalisust kahjustamata.



Oletame, et meil on mänguraamat, mis varustab teie EC2 eksemplari AWS-is. Esitusraamatusse peate sisestama oma AWS-i pääsuvõtme id ja AWS-i salajase võtme. Te ei jaga neid võtmeid mõistetavatel põhjustel teistega. Kuidas hoida neid valgustamata? On kahte moodi - kas krüpteerida need kaks muutujat ja manustada esitusraamatusse või krüpteerida kogu esitusraamat.

See oli vaid üks stsenaariumidest, kus saab kasutada ankeeti. Saame kas krüpteerida terved failid või krüpteerida vaid mõned muutujad, mis võivad sisaldada tundlikke andmeid, ja seejärel dekrüpib Ansible need automaatselt käituse ajal. Nüüd saame need väärtused turvaliselt GitHubi siduda.

Krüptitud faili loomine

Krüptitud faili loomiseks kasutage ansible-vault luua käsk ja edastage failinimi.

$ ansible-vault loo failinimi.yaml

Teil palutakse luua parool ja kinnitada see siis uuesti tippides.

ansible vault create - Ansible Vault - Edureka

Kui teie parool on kinnitatud, luuakse uus fail ja see avab redigeerimisakna. Vaikimisi on Ansible Vault'i redaktor vi. Saate lisada andmeid, salvestada ja väljuda.

Ja teie fail on krüptitud.

Krüpteeritud failide redigeerimine

Kui soovite krüptitud faili muuta, saate seda muuta kasutades ansible-vault-redigeerimine käsk.

$ ansible-vault redigeeri secrets.txt

Seal, kus secrets.txt on juba loodud, krüptitud fail.

ümmargune topelt kuni int java

Teil palutakse sisestada hoidla parool. Fail (dekrüpteeritud versioon) avaneb vi redaktoris ja seejärel saate teha vajalikud muudatused.

Kui kontrollite väljundit, näete, et salvestamisel ja sulgemisel krüpteeritakse teie tekst automaatselt.

Krüptitud faili vaatamine

Kui soovite lihtsalt krüpteeritud faili vaadata, võite kasutada faili vaatav vault käsk.

$ ansible-vault vaate failinimi.yml

Jällegi palutakse teil sisestada parool.

ja näete sarnast väljundit.

Vault'i parooli taastamine

Muidugi on juhtumeid, kus soovite varahoidla parooli muuta. Võite kasutada ansible-vault rekey käsk.

$ ansible-vault rekey secrets.txt

Teil palutakse sisestada hoidla praegune parool ja seejärel uus parool ning lõpuks saate uue parooli kinnitada.

Krüpteerimata failide krüptimine

Oletame, et teil on fail, mida soovite krüptida, saate seda kasutada ansible-vault krüptimine käsk.

$ ansible-vault krüptib failinimi.txt

Teil palutakse sisestada ja kinnitada parool ning teie fail on krüptitud.

Nüüd, kui vaatate faili sisu, on see kõik krüptitud.

Krüptitud failide dekrüpteerimine

Kui soovite krüptitud faili dekrüpteerida, võite seda kasutada ansible-holvi dekrüpteerimine käsk.

$ ansible-vault dekrüpteerib failinimi.txt

Nagu tavaliselt, palutakse teil sisestada ja kinnitada hoidla parool.

Konkreetsete muutujate krüptimine

Ansible Vault'i kasutamise parim tava on krüptida ainult tundlikud andmed. Eespool selgitatud näites ei soovi arendusmeeskond oma parooli tootmise ja lavastusmeeskonnaga jagada, kuid neil võib olla vaja oma ülesande täitmiseks juurdepääsu teatud andmetele. Sellistel juhtudel peaksite krüptima ainult need andmed, mida te ei soovi teistega jagada, jättes ülejäänud osa selliseks, nagu see on.

Ansible Vault võimaldab krüptida ainult konkreetseid muutujaid. Võite kasutada ansible-vault encrypt_string selleks käsk.

$ ansible-vault encrypt_string

Teil palutakse sisestada ja seejärel kinnitada hoidla parool. Seejärel võite hakata sisestama stringi väärtust, mille soovite krüptida. Sisestuse lõpetamiseks vajutage klahvikombinatsiooni Ctrl-d. Nüüd saate selle krüptitud määrataväärtusmänguraamatu stringi juurde.

Sama asja saate saavutada ka ühes reas.

$ ansible-vault encrypt_string 'string' - nimi 'muutuja_nimi'

Krüptitud failide dekrüpteerimine käituse ajal

Kui soovite faili käitusajal dekrüpteerida, võite seda kasutada –Küsimus-võlv-pass lipp.

$ ansible-playbook launch.yml --ask-vault-pass

See dekrüpteerib kõik krüptitud failid, mida selle play.yml playbooki käivitamiseks kasutatakse. Samuti on see võimalik ainult siis, kui kõik failid on krüptitud sama parooliga.

Paroolijuhised võivad muutuda tüütuks. Automaatika eesmärk muutub mõttetuks. Kuidas seda paremaks muuta? Ansible'il on funktsioon nimega 'paroolifail', mis viitab parooli sisaldavale failile. Seejärel saate selle paroolifaili tööaja jooksul selle automatiseerimiseks lihtsalt edastada.

$ ansible-playbook launch.yml --vault-password-file ~ / .vault_pass.txt

Võimalik on ka eraldi skript, mis määrab paroolid. Peate veenduma, et skriptifail on käivitatav ja parool on printitud standardväljundisse, et see töötaks ilma tüütute vigadeta.

$ ansible-playbook launch.yml --vault-password-file ~ / .vault_pass.py

Kasutades Vault ID-d

Vault Id on viis konkreetse hoidla parooli identifikaatori pakkumiseks. Vault ID aitab krüptida erinevaid faile erinevate paroolidega, millele viidatakse mänguraamatus. See Ansible'i funktsioon tuli välja koos Ansible 2.4 väljaandmisega. Enne seda versiooni võis igas esitusraamatu käivitamises kasutada ainult ühte vaultparooli.

Nii et nüüd, kui soovite käivitada Ansible playbooki, mis kasutab mitut erinevate paroolidega krüptitud faili, saate kasutada Vault Id-i.

$ ansible-playbook - vault-id vault-pass1 - vault-id vault-pass2 failinimi.yml

Sellega jõuame selle Ansible Vault ajaveebi lõpuni. Hämmastav on tehnoloogiale järele jõuda ja neist võimalikult palju kasu saada, kuid mitte turvalisuse osas järeleandmistega. See on üks parimaid viise infrastruktuuri koodiks (IaC) kasutamiseks.

Kui leiate, et see artikkel on kasulik, vaadake järgmist ' pakkus Edureka. See hõlmab kõiki tööriistu, mis on IT-tööstuse targemaks teinud.

Kas teil on meile küsimus? Palun postitage see aadressile ja me pöördume teie poole.