Selamatkan Rahsia Anda Dengan Vault yang Boleh Dibaca



Blog vault Ansible ini menerangkan bagaimana data sensitif (kata laluan / kunci rahsia / fail sijil) disimpan dalam fail yang dienkripsi & dimasukkan ke dalam Buku Mainan Ansible.

Semakin tinggi penggunaan teknologi, semakin besar kemungkinan ancaman terhadap keselamatan. Persediaan Ansible yang khas memerlukan anda memasukkan 'Rahsia'. Rahsia ini boleh berupa apa sahaja, kata laluan, token API, kunci awam atau peribadi SSH, sijil SSL, dll. Bagaimana kita menyimpan rahsia ini dengan selamat? Ansible menyediakan ciri yang disebut Ansible Vault.

Di blog ini, saya akan menunjukkan cara menggunakan Ansible Vault dan meneroka beberapa amalan terbaik untuk menjaga keselamatan data.





Topik yang dibahas dalam blog ini:

Sekiranya anda ingin menguasai DevOps, ' kursus akan menjadi pilihan anda.



Apa itu Ansible Vault?

Mempunyai infrastruktur sebagai kod boleh menimbulkan ancaman mendedahkan data sensitif anda kepada dunia, yang menyebabkan masalah keselamatan yang tidak diingini. Ansible Vault adalah ciri yang membolehkan anda menyimpan semua rahsia anda dengan selamat. Ia dapat menyulitkan keseluruhan fail, keseluruhan buku main YAML atau bahkan beberapa pemboleh ubah. Ia menyediakan kemudahan di mana anda bukan sahaja dapat menyulitkan data sensitif tetapi juga menyatukannya ke dalam buku permainan anda.

Vault diimplementasikan dengan butiran tahap fail di mana failnya sama sekali disulitkan atau sepenuhnya tidak disulitkan. Ia menggunakan kata laluan yang sama untuk menyulitkan dan juga untuk menyahsulitkan fail yang menjadikan penggunaan Ansible Vault sangat mesra pengguna.

Mengapa menggunakan Ansible Vault?

Oleh kerana Ansible digunakan untuk automasi, ada kemungkinan besar bahawa buku main mengandungi kelayakan tertentu, sijil SSL atau data sensitif lain. Menyimpan data sensitif seperti teks biasa adalah idea yang tidak baik. Satu kesalahan yang dilakukan terhadap pencurian GitHub atau komputer riba boleh menyebabkan kerugian kepada organisasi. Di sinilah peti besi Ansible masuk ke dalam gambar. Ini adalah cara terbaik untuk menjadikan infrastruktur sebagai kod, tanpa menjejaskan keselamatan.



Anggaplah, kami mempunyai buku panduan yang menyediakan contoh EC2 anda di AWS. Anda perlu memberikan id kunci akses AWS dan kunci rahsia AWS anda di dalam buku main. Anda tidak berkongsi kunci ini dengan orang lain kerana alasan yang jelas. Bagaimana anda membiarkannya tidak terdedah? Terdapat dua cara - Sama ada menyulitkan kedua pemboleh ubah ini dan memasukkannya ke dalam buku main atau menyulitkan keseluruhan buku main.

Ini hanyalah salah satu senario di mana peti besi ansible dapat digunakan. Kita boleh menyulitkan keseluruhan fail atau hanya menyulitkan beberapa pemboleh ubah yang mungkin menyimpan data sensitif dan kemudian Ansible menyahsulitkannya secara automatik semasa menjalankan. Sekarang kita boleh memberikan nilai-nilai ini dengan selamat kepada GitHub.

Membuat Fail Yang Dienkripsi

Untuk membuat fail yang dienkripsi, gunakan ansible-peti besi buat arahan dan lulus nama fail.

$ ansible-vault buat nama fail.yaml

Anda akan diminta membuat kata laluan dan kemudian mengesahkannya dengan menaipnya semula.

ansible vault create - Ansible Vault - Edureka

Setelah kata laluan anda disahkan, fail baru akan dibuat dan akan membuka tetingkap penyuntingan. Secara lalai, penyunting Ansible Vault adalah vi. Anda boleh menambah data, menyimpan dan keluar.

Dan fail anda disulitkan.

Menyunting Fail yang Dienkripsi

Sekiranya anda ingin mengedit fail yang dienkripsi, anda boleh mengeditnya dengan menggunakan suntingan ansible-vault arahan.

$ ansible-vault edit rahsia.txt

Di mana secret.txt adalah fail yang telah dibuat dan disulitkan.

Anda akan diminta memasukkan kata laluan peti besi. Fail (versi yang didekripsi) akan dibuka di editor vi dan kemudian anda boleh membuat perubahan yang diperlukan.

Sekiranya anda memeriksa output, anda akan melihat teks anda akan disulitkan secara automatik semasa anda menyimpan dan menutup.

Melihat Fail Yang Dienkripsi

Sekiranya anda hanya ingin melihat fail yang dienkripsi, anda boleh menggunakan pandangan ansible-peti besi arahan.

$ ansible-vault view filename.yml

Sekali lagi anda akan diminta kata laluan.

dan anda akan melihat output yang serupa.

Kata Laluan Vault Rekeying

Sudah tentu, ada kalanya anda mahu menukar kata laluan peti besi. Anda boleh menggunakan ansible-peti besi rekey arahan.

$ ansible-vault rekey secret.txt

Anda akan diminta dengan kata laluan semasa peti besi dan kemudian kata laluan baru dan akhirnya dilakukan dengan mengesahkan kata laluan baru.

Menyulitkan Fail Tidak Terenkripsi

Katakan anda mempunyai fail yang ingin anda enkripsi, anda boleh menggunakan penyulitan ansible-vault arahan.

$ ansible-vault menyulitkan nama fail.txt

Anda akan diminta memasukkan dan mengesahkan kata laluan dan fail anda disulitkan.

Sekarang anda melihat kandungan fail, semuanya disulitkan.

Mendekripsi Fail Disulitkan

Sekiranya anda mahu menyahsulitkan fail yang dienkripsi, anda boleh menggunakannya penyahsulitan peti besi arahan.

$ ansible-vault mendekripsi nama fail.txt

Seperti biasa, anda akan memasukkan dan mengesahkan kata laluan peti besi.

Menyulitkan pemboleh ubah tertentu

Amalan terbaik semasa menggunakan Ansible Vault adalah menyulitkan hanya data sensitif. Dalam contoh yang dijelaskan di atas, pasukan pengembangan tidak mahu berkongsi kata laluan mereka dengan pasukan produksi dan pementasan tetapi mereka mungkin memerlukan akses ke data tertentu untuk menjalankan tugas mereka sendiri. Dalam kes sedemikian, anda hanya perlu menyulitkan data yang tidak ingin anda kongsi dengan orang lain, meninggalkan yang lain sebagaimana adanya.

Ansible Vault membolehkan anda menyulitkan pemboleh ubah tertentu sahaja. Anda boleh menggunakan ansible-vault encrypt_string perintah untuk ini.

$ ansible-vault encrypt_string

Anda akan diminta memasukkan dan kemudian mengesahkan kata laluan peti besi. Anda kemudian boleh mula memasukkan nilai rentetan yang ingin anda enkripsi. Tekan ctrl-d untuk menamatkan input. Sekarang anda boleh menetapkan ini dienkripsinilaike rentetan dalam buku main.

Anda juga boleh mencapai perkara yang sama dalam satu baris.

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

Mendekripsi Fail Yang Dienkripsi Semasa Runtime

Sekiranya anda ingin menyahsulitkan fail semasa menjalankan, anda boleh menggunakannya - pas-peti besi-lulus bendera.

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

Ini akan menyahsulitkan semua fail yang dienkripsi yang digunakan untuk menjalankan playbook launch.yml ini. Juga, ini hanya mungkin dilakukan sekiranya semua fail disulitkan dengan kata laluan yang sama.

Permintaan kata laluan boleh menjengkelkan. Tujuan automasi menjadi sia-sia. Bagaimana kita menjadikan ini lebih baik? Ansible mempunyai ciri yang disebut 'fail kata laluan' yang merujuk kepada fail yang mengandungi kata laluan. Anda kemudian boleh meneruskan fail kata laluan ini semasa menjalankan untuk mengautomasikannya.

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

Memiliki skrip terpisah yang menentukan kata laluan juga mungkin. Anda perlu memastikan fail skrip dapat dilaksanakan dan kata laluan dicetak ke output standard agar dapat berfungsi tanpa kesalahan yang menjengkelkan.

apakah struktur data di java
$ ansible-playbook launch.yml --vault-password-file ~ / .vault_pass.py

Menggunakan Id Vault

Vault Id adalah cara menyediakan pengecam pada kata laluan peti besi tertentu. Vault ID membantu dalam mengenkripsi fail yang berbeza dengan kata laluan yang berbeza untuk dirujuk di dalam buku main. Ciri Ansible ini keluar dengan pembebasan Ansible 2.4. Sebelum rilis ini, hanya satu kata laluan peti besi yang dapat digunakan dalam setiap pelaksanaan buku main yang tidak dapat digunakan.

Oleh itu, jika anda ingin melaksanakan buku main Ansible yang menggunakan pelbagai fail yang disulitkan dengan kata laluan yang berbeza, anda boleh menggunakan Id Vault.

$ ansible-playbook --vault-id vault-pass1 --vault-id vault-pass2 nama fail.yml

Dengan ini, kita sampai di akhir blog Ansible Vault ini. Sangat mengagumkan untuk mengikuti teknologi dan memanfaatkannya sepenuhnya tetapi tidak dengan menjejaskan keselamatan. Ini adalah salah satu kaedah terbaik untuk mempunyai Infrastruktur sebagai kod (IaC).

Sekiranya artikel ini berguna, periksa ' ditawarkan oleh Edureka. Ini merangkumi semua alat yang menjadikan industri IT lebih pintar.

Ada soalan untuk kami? Sila hantar di dan kami akan menghubungi anda.