Cara Enkripsi File YAML Menggunakan Ansible-Vault

Cara Enkripsi File YAML Menggunakan Ansible-Vault. Hal ini mungkin belum terlalu penting untuk temen-temen yang baru belajar ansible. Tapi, setelah anda menggunakanya untuk manage konfigurasi server dan sebagainya “production” maka hal ini sangat perlu anda gunakan.

Ansible-Vault
Ansible-Vault

Informasi seperti username, password, private-key dan lain-lain merupakan informasi yang harus dijaga, dalam arti file tersebut jangan sampai mudah dibaca oleh orang. Biasanya file “hosts variable“.

Meskipun yang hanya memiliki itu kita sendiri atau tim, tetap saja sebaiknya dilakukan enkripsi. Takutnya khilaf ikut di push ke Git. Eh… #Sobek 😀

Baca juga:
Cara Menggunakan group_vars dan host_vars

Disini saya memberikan teknik praktisnya sesuai judul ya… Untuk teknik lebih mendalam bisa ngoprek bareng sama saya yang juga baru belajar ini. 😀

1 – Enkripsi File YAML

Pertama anda perlu membuat file dengan format .yml terlebih dahulu. Kemudian menggunakan command ansible-vault dan argument setelahnya untuk meng-encrypt file.

Misal disini saya buat file coba.yml yang dalamnya terdapat informasi:

---
username: user1
password: pass1
$ ansible-vault encrypt coba.yml 
New Vault password: 
Confirm New Vault password: 
Encryption successful

Note: Password jangan sampai lupa! 😀

Setelah temen-temen mengeksekusi command tersebut isi file coba.yml akan berubah menjadi seperti ini:

$ANSIBLE_VAULT;1.1;AES256
37343965346639666464303966366361313038613436376530323339623866623233393365613364
3136386636626164353836643564386233636139336237310a636434346234653138623264343533
34663165313432353236313535323764613133313264363532363035656331386461396536343166
3230633662343732370a336666663662383032366338366239636564663862633736613263316137
61353734613931343863656563626165373531323361653635363063613634383336336565666365
3439616264303437376162626565653435626139346362613835

2 – Edit File yang Ter-Enkripsi

Untuk melakukan pengubahan didalam file yang telah ter-encrypt temen-temen perlu menggunakan command ansible-vault juga. Selanjutnya diminta memasukkan password sebelumnya waktu temen-temen encrypt file tersebut.

$ ansible-vault edit coba.yml
Vault password:

Setelah memasukkan password makan akan diarahkan ke editor vi dan data yang telah terenkripsi kembali seperti sebelum di-encrypt.

3 – Ganti Password File Ter-Enkripsi

Untuk melakukan pengubahan password file nya silahkan menggunakan command berikut:

$ ansible-vault rekey coba.yml
Vault password: 
New Vault password: 
Confirm New Vault password: 
Rekey successful

4 – Dekripsi File YAML

Untuk melakukan decrypt file yang sebelumnya ter-encrypt bisa menggunakan command berikut:

$ ansible-vault decrypt coba.yml
Vault password: 
Decryption successful

Nah, jadi seperti itulah teknik praktisnya.

Note: Ketika temen-temen mengeksekusi config management ke server dengan file yang ter-encrypt ada penambahan argument dari command yang biasanya temen-temen eksekusi yaitu: --ask-vault-pass.

Contoh: $ ansible all -i hosts.yml -m ping --ask-vault-pass

Dokumentasi silahkan baca disini: https://docs.ansible.com/ansible/latest/user_guide/vault.html

Leave a Reply