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:
- Què és Ansible Vault?
- Per què utilitzar Ansible Vault?
- Creació d’un fitxer xifrat
- Edició de fitxers xifrats
- Visualització del fitxer xifrat
- Recuperació de la contrasenya de la volta
- Xifratge de fitxers no xifrats
- Desxifratge de fitxers xifrats
- Encriptació de variables específiques
- Desxifratge de fitxers xifrats durant l'execució
- S’utilitza l’identificador de volta
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.
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.
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.