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:
- Mis on Ansible Vault?
- Miks kasutada Ansible Vault'i?
- Krüptitud faili loomine
- Krüpteeritud failide redigeerimine
- Krüptitud faili vaatamine
- Vault'i parooli taastamine
- Krüpteerimata failide krüptimine
- Krüptitud failide dekrüpteerimine
- Konkreetsete muutujate krüptimine
- Krüptitud failide dekrüpteerimine käituse ajal
- Kasutades Vault ID-d
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.
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.
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.
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.