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:
- Apa itu Ansible Vault?
- Mengapa Menggunakan Vault Ansible?
- Membuat Fail Yang Dienkripsi
- Menyunting Fail yang Dienkripsi
- Melihat Fail Yang Dienkripsi
- Kata Laluan Vault Rekeying
- Menyulitkan Fail Tidak Terenkripsi
- Mendekripsi Fail Disulitkan
- Menyulitkan pemboleh ubah tertentu
- Mendekripsi Fail Yang Dienkripsi semasa Masa Jalan
- Menggunakan Id Vault
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.
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.
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.