Protegiu els vostres secrets amb Ansible Vault



Aquest bloc Ansible vault explica com les dades confidencials (contrasenyes / fitxers de claus secretes / cert) s’emmagatzemen en fitxers xifrats i s’incorporen a Ansible Playbooks.

Com més gran sigui l’ús de la tecnologia, major serà la possible amenaça per a la seguretat. Una configuració típica de Ansible requereix que introduïu 'Secrets'. Aquests secrets poden ser literalment qualsevol cosa, contrasenyes, fitxes API, claus públiques o privades SSH, certificats SSL, etc. Com podem protegir aquests secrets? Ansible proporciona una funció anomenada Ansible Vault.

En aquest bloc, mostraré com utilitzar Ansible Vault i explorar algunes de les pràctiques recomanades per protegir les dades.





Temes tractats en aquest bloc:

Si voleu dominar DevOps, ' per descomptat, seria la vostra opció preferida.



Què és Ansible Vault?

Tenir la infraestructura com a codi pot suposar l’amenaça d’exposar les vostres dades sensibles al món i provocar problemes de seguretat no desitjats. Ansible Vault és una característica que us permet guardar tots els vostres secrets. Pot xifrar fitxers sencers, llibres de reproducció sencers de YAML o fins i tot algunes variables. Proporciona un servei on no només podeu xifrar dades sensibles, sinó també integrar-les als vostres llibres de joc.

Vault s’implementa amb granularitat a nivell de fitxer, on els fitxers estan totalment xifrats o totalment no xifrats. Utilitza la mateixa contrasenya per xifrar i desxifrar fitxers, cosa que fa que Ansible Vault sigui molt fàcil d’utilitzar.

Per què utilitzar Ansible Vault?

Com que Ansible s’utilitza per a l’automatització, hi ha una gran possibilitat que els llibres de reproducció continguin certes credencials, certificats SSL o altres dades sensibles. No és una bona idea desar dades tan sensibles com el text pla. Un compromís erroni amb el robatori de GitHub o un ordinador portàtil pot causar una pèrdua enorme a una organització. Aquí és on apareix la volta Ansible. És una manera fantàstica de tenir infraestructura com a codi, sense comprometre's amb la seguretat.



Suposem que tenim un llibre de joc que subministra la vostra instància EC2 a AWS. Heu de proporcionar el vostre identificador de clau d'accés AWS i la clau secreta AWS al llibre de reproducció. No compartiu aquestes claus amb altres persones per raons òbvies. Com els manteniu sense exposar? Hi ha dues maneres: xifra aquestes dues variables i incorpora-les al llibre de reproducció o xifra tot el llibre de joc.

Aquest va ser només un dels escenaris en què es pot utilitzar la volta ansible. Podem xifrar fitxers sencers o simplement xifrar algunes variables que poden contenir dades confidencials i Ansible desxifra automàticament durant el temps d’execució. Ara podem confiar aquests valors amb seguretat a GitHub.

Creació d’un fitxer xifrat

Per crear un fitxer xifrat, utilitzeu el fitxer ansible-vault crear ordeneu i passeu el nom del fitxer.

$ ansible-vault create filename.yaml

Se us demanarà que creeu una contrasenya i que la confirmeu tornant a escriure-la.

ansible vault create - Ansible Vault - Edureka

Un cop confirmada la contrasenya, es crearà un fitxer nou que obrirà una finestra d'edició. Per defecte, l'editor d'Ansible Vault és vi. Podeu afegir dades, desar-les i sortir-ne.

I el vostre fitxer està xifrat.

Edició de fitxers xifrats

Si voleu editar un fitxer xifrat, podeu editar-lo mitjançant edició ansible-vault comandament.

$ ansible-vault edit secrets.txt

On secrets.txt és un fitxer xifrat ja creat.

Se us demanarà que inseriu la contrasenya del magatzem. El fitxer (versió desxifrada) s'obrirà en un editor vi i, a continuació, podeu fer els canvis necessaris.

Si comproveu la sortida, veureu que el vostre text es xifrarà automàticament quan deseu i tanqueu.

Visualització del fitxer xifrat

Si només voleu veure un fitxer xifrat, podeu utilitzar el fitxer vista de volta ansible comandament.

$ ansible-vault view filename.yml

Una vegada més, se us demanarà una contrasenya.

i veureu una sortida similar.

Recuperació de la contrasenya de la volta

Per descomptat, hi ha vegades que voldreu canviar la contrasenya del magatzem. Podeu utilitzar el fitxer clau de volta ansible comandament.

$ ansible-vault rekey secrets.txt

Se us demanarà la contrasenya actual del magatzem i, a continuació, la contrasenya nova i, finalment, confirmareu la nova contrasenya.

Xifratge de fitxers no xifrats

Suposem que teniu un fitxer que voleu xifrar, podeu utilitzar el fitxer xifratge ansible-vault comandament.

$ ansible-vault xifra el nom del fitxer.txt

Se us demanarà que inseriu i confirmeu la contrasenya i el fitxer està xifrat.

Ara que mireu el contingut del fitxer, està tot xifrat.

Desxifratge de fitxers xifrats

Si voleu desxifrar un fitxer xifrat, podeu utilitzar-lo ansible-vault desencriptar comandament.

$ ansible-vault desxifra el nom del fitxer.txt

Com és habitual, us demanarà que inseriu i confirmeu la contrasenya del magatzem.

Encriptació de variables específiques

La millor pràctica en utilitzar Ansible Vault és xifrar només les dades sensibles. A l'exemple explicat anteriorment, l'equip de desenvolupament no vol compartir la seva contrasenya amb l'equip de producció i de prova, però pot ser que necessitin accés a determinades dades per dur a terme la seva pròpia tasca. En aquests casos, només hauríeu d'encriptar les dades que no vulgueu compartir amb altres persones, deixant la resta tal qual.

Ansible Vault us permet xifrar només variables específiques. Podeu utilitzar el fitxer ansible-vault encrypt_string ordre per a això.

$ ansible-vault encrypt_string

Se us demanarà que inseriu i confirmeu la contrasenya del magatzem. A continuació, podeu començar a inserir el valor de la cadena que vulgueu xifrar. Premeu ctrl-d per finalitzar l'entrada. Ara podeu assignar-ho xifratvalora una cadena del llibre de reproducció.

També podeu aconseguir el mateix en una sola línia.

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

Desxifratge de fitxers xifrats durant l'execució

Si voleu desxifrar un fitxer durant el temps d'execució, podeu utilitzar-lo –Passar la volta-tasca bandera.

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

Això desxifrarà tots els fitxers xifrats que s'utilitzen per executar aquest llibre de reproducció launch.yml. A més, això només és possible si tots els fitxers estan xifrats amb la mateixa contrasenya.

Les sol·licituds de contrasenya poden ser molestes. El propòsit de l’automatització esdevé inútil. Com ho podem millorar? Ansible té una característica anomenada 'fitxer de contrasenya' que fa referència a un fitxer que conté la contrasenya. Podeu passar aquest fitxer de contrasenya durant el temps d’execució per automatitzar-lo.

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

També és possible tenir un script separat que especifiqui les contrasenyes. Cal que us assegureu que el fitxer de script és executable i que la contrasenya s’imprimeix a la sortida estàndard perquè funcioni sense errors molestos.

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

S’utilitza l’identificador de volta

L’identificador de volta és una manera de proporcionar un identificador a una contrasenya concreta. Vault ID ajuda a xifrar diferents fitxers amb contrasenyes diferents per fer referència a un llibre de reproducció. Aquesta característica d'Ansible va sortir amb el llançament d'Ansible 2.4. Abans d'aquest llançament, només es podia utilitzar una contrasenya de volta en cada execució del llibre de reproducció.

Per tant, ara si voleu executar un llibre de reproducció Ansible que utilitzi diversos fitxers xifrats amb contrasenyes diferents, podeu utilitzar Vault Id.

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

Amb això, arribem al final d’aquest bloc Ansible Vault. És increïble posar-se al dia amb la tecnologia i aprofitar-la al màxim, però no comprometent la seguretat. Aquesta és una de les millors maneres de tenir infraestructura com a codi (IaC).

per a què s’utilitza el titella

Si trobeu útil aquest article, consulteu el ' ofert per Edureka. Cobreix totes les eines que han fet que la indústria de TI sigui més intel·ligent.

Tens alguna pregunta? Envieu-lo a i ens posarem en contacte amb vosaltres.