Kā lietot “Ansible Vault” atskaņošanas grāmatās sensitīvu datu aizsardzībai - 10. daļa


Lietojot Ansible, jums, iespējams, būs jāievada konfidenciāla vai slepena informācija atskaņošanas grāmatās. Tas ietver SSH privātās un publiskās atslēgas, paroles un SSL sertifikātus, lai pieminētu tikai dažus. Kā mēs jau zinām, ir slikta prakse acīmredzamu iemeslu dēļ saglabāt šo sensitīvo informāciju vienkāršā tekstā. Šī informācija ir jāglabā zem atslēgas, jo mēs varam tikai iedomāties, kas notiktu, ja hakeri vai nepiederoši lietotāji to iegūtu.

Par laimi, Ansible nodrošina mums ērtu funkciju, kas pazīstama kā Ansible Vault. Kā norāda nosaukums, Ansible Vault palīdz nodrošināt svarīgu slepenu informāciju, kā mēs jau iepriekš apspriedām. Kā mēs vēlāk parādīsim, Ansible Vault var šifrēt mainīgos vai pat veselus failus un YAML atskaņošanas grāmatas. Tas ir ļoti ērts un lietotājam draudzīgs rīks, kuram šifrējot un atšifrējot failus, nepieciešama vienāda parole.

Tagad ienirsim un apskatīsim dažādas darbības, kuras var veikt, izmantojot Ansible vault.

Kā izveidot šifrētu failu programmā Ansible

Ja vēlaties izveidot šifrētu Playbook failu, vienkārši izmantojiet komandu ansible-vault create un norādiet faila nosaukumu, kā parādīts.

# ansible-vault create filename

Piemēram, lai izveidotu šifrētu failu mysecrets.yml, izpildiet komandu.

# ansible-vault create mysecrets.yml

Pēc tam jums tiks lūgts ievadīt paroli, un pēc tās apstiprināšanas tiks atvērts jauns logs, izmantojot vi redaktoru, kur jūs varat sākt rakstīt savas lugas.

Zemāk ir dažas informācijas paraugs. Kad esat pabeidzis, vienkārši saglabājiet un izejiet no spēles grāmatas. Tas ir tikai par to, veidojot šifrētu failu.

Lai pārbaudītu faila šifrēšanu, izmantojiet kaķu komandu, kā parādīts.

# cat mysecrets.yml

Kā apskatīt šifrētu failu programmā Ansible

Ja vēlaties apskatīt šifrētu failu, vienkārši nododiet ansible-vault skata komandu, kā parādīts zemāk.

# ansible-vault view mysecrets.yml

Vēlreiz jums tiks lūgts ievadīt paroli. Vēlreiz jums būs piekļuve savai informācijai.

Kā rediģēt šifrētu failu programmā Ansible

Lai veiktu izmaiņas šifrētā failā, izmantojiet ansible-vault edit komandu, kā parādīts.

# ansible-vault edit mysecrets.yml

Kā vienmēr, norādiet paroli un pēc tam turpiniet rediģēt failu.

Kad rediģēšana ir pabeigta, saglabājiet un izejiet no vim redaktora.

Kā nomainīt Ansible Vault paroli

Ja jums šķiet, ka ir jāmaina Ansible vault parole, varat to viegli izdarīt, izmantojot komandu ansible-vault rekey, kā parādīts zemāk.

# ansible-vault rekey mysecrets.yml

Tas prasa ievadīt glabātavas paroli un vēlāk pieprasa ievadīt jauno paroli un vēlāk to apstiprināt.

Kā šifrēt nešifrētu failu programmā Ansible

Pieņemsim, ka vēlaties šifrēt nešifrētu failu, to varat izdarīt, palaižot komandu ansible-vault encrypt, kā parādīts.

# ansible-vault encrypt classified.txt

Vēlāk failu var apskatīt, izmantojot komandu cat, kā norādīts zemāk.

Kā atšifrēt šifrētu failu

Lai skatītu šifrēta faila saturu, vienkārši atšifrējiet failu, izmantojot ansible-vault šifrēšanu, kā parādīts zemāk esošajā piemērā.

# ansible-vault decrypt classified.txt

Kā šifrēt konkrētus mainīgos programmā Ansible

Turklāt funkcija Ansible Vault dod jums iespēju šifrēt noteiktus mainīgos. Tas tiek darīts, izmantojot komandu ansible-vault encrypt_string, kā parādīts.

# ansible-vault encrypt_string 

Iespējamās glabātuve pieprasīs paroli un vēlāk prasīs to apstiprināt. Pēc tam ierakstiet virknes vērtību, kuru vēlaties šifrēt. Visbeidzot, nospiediet ctrl+d . Pēc tam jūs varat sākt piešķirt šifrētu vērtību atskaņošanas grāmatā.

To var panākt vienā rindā, kā parādīts zemāk.

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

Kā atšifrēt atskaņošanas grāmatas failu izpildlaika laikā

Ja jums ir atskaņošanas grāmatas fails un vēlaties to atšifrēt izpildlaika laikā, izmantojiet opciju --ask-vault-pass , kā parādīts attēlā.

# ansible-playbook deploy.yml --ask-vault-pass

Tas atšifrē visus failus, kas tiek izmantoti atskaņošanas grāmatā, ar nosacījumu, ka tie tika šifrēti, izmantojot to pašu paroli.

Paroles uzvednes dažreiz var būt kaitinošas. Šie uzaicinājumi padara automatizāciju neizturīgu, it īpaši, ja automatizācija ir galvenā. Lai racionalizētu atskaņošanas grāmatu atšifrēšanas procesu izpildes laikā, ieteicams izmantot atsevišķu paroles failu, kas satur Ansible vault paroli. Pēc tam šo failu var nodot izpildlaika laikā, kā parādīts.

# ansible-playbook deploy.yml --vault-password-file  /home/tecmint/vault_pass.txt

Tas mūs noved pie šīs tēmas un Ansible automatizācijas sērijas secinājuma. Mēs ceram, ka apmācības ir ievadījušas noderīgas zināšanas par to, kā jūs varat automatizēt uzdevumus vairākos serveros no vienas centrālās sistēmas.