Mengenal lebih dekat Ansible (3), Ansible Vault

Setelah membahas Ansible Roles di post sebelumnya, kali ini kita akan membahas mengenai Ansible Vault. Ansible Vault merupakan salah satu fitur bawaan ansible yang berfungsi untuk melindungi data-data sensitif seperti password atau key yang ada di dalam suatu file ke dalam bentuk yang terenkripsi. Enkripsi sendiri merupakan suatu proses untuk mengubah suatu teks menjadi kode-kode tertentu dengan menggunakan key tertentu dan Dekripsi merupakan kebalikan dari Enkripsi.

Di docs nya sendiri ansible vault dapat ditambahkan ke sebuah direktori “group_vars” atau “host_vars” untuk menggunakannya kita bisa memanggil dengan menggunakan perintah “include_vars” atau “vars_files”. Selain itu setelah versi 2.3 Ansible juga mendukung untuk mengenkripsi suatu value di dalam YAML file dengan menggunakan tag !vault.

Enkripsi key Ansible Vault

ansible-vault encrypt_string 'key-yg-akan-dienkripsi' --vault-password-file ~/.vault

Perintah diatas digunakan untuk mengenkripsi tipe data string secara langsung tanpa menggunakan suatu file. File .vault adalah key atau password yang digunakan untuk mengenkripsi teks yang akan kita enkripsi. Selain itu kita juga bisa mengenkripsi teks yang ada di sebuah file seperti berikut langkah-langkahnya :

*tag_key = namafile

Apabila menggunakan perintah diatas kita akan diminta memasukan key/password yang digunakan sebagai public key untuk mengenkripsi atau mendekripsi teks, agar lebih mudah kita bisa memasukan key/password tersebut melalui sebuah file seperti pada langkah sebelumnya.

Kita bisa melihat hasilnya pada file yang kita buat dalam hal ini filenya bernama tag_key seperti diatas. Selanjutnya untuk mendekripsi gunakan langkah dibawah ini:

Dekripsi key Ansible Vault

Syarat untuk mengembalikan suatu teks yang telah dienkripsi adalah kita harus memiliki sebuah public key atau dalam kasus ini merupakan password yang kita masukan sewaktu menggunakan ansible vault dapat berupa suatu file atau yang kita masukan secara manual.

Leave a Reply

Your email address will not be published. Required fields are marked *