halo sobat sekolahlinux, kalian pasti taukan repotnya harus unseal vault sehabis di restart, nah untuk mengatasi unseal manual, vault menyediakan beberapa opsi untuk melakukan auto unseal, listnya opsinya bisa kalian lihat di link dibawah ya
nah dari beberapa opsi diatas, saya akan sedikit memberikan tutorial bagaimana cara implementasi auto unseal dengan aws kms, oh iya disini saya beranggapan kalau kalian install dan setup vault di ec2 ya
oke jadi pada step pertama yang harus kalian siapkan adalah membuat policy di aws iam, untuk json nya seperti dibawah ini, dan beri nama policy nya vault-kms
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "kms:*", "Resource": "*" } ] }
jika sudah buat role di aws iam, jika ada sudah di tahap dibawah dalam membuat role, pilih entity “AWS service” dan use case “EC2” lalu klik button next
lalu pada page selanjutnya ketika kita diminta untuk memilih policy, ketik “vault-kms” pada kolom pencarian sesuai nama policy yang sebelumnya kita buat lalu enter, maka nanti akan tampil policy yang tadi kita buat, lalu pilih policy tersebut dan klik button next
lalu selanjutnya pada step selanjutnya anda akan diminta untuk memasukan nama dari role yang akan dibuat, beri nama sesuai dengan yang anda inginkan, namun disini saya memberi nama “vault-kms”
oke selanjutnya pergi ke instance/ec2 tempat kita install vault lalu, pada menu “actions > Security > Modify IAM role” seperti pada gambar dibawah
lalu selanjutnya kita akan dibawa ke tampilan seperti gambar dibawah, pilih iam role “vault-kms” yang tadi kita buat, lalu klik buttom “update IAM role”
selanjutnya kita akan buat kms, pada tampilan dibawah pilih opsi sesuai gambar, lalu klik button next
selanjutnya kita akan dibawa ketampilan seperti dibawah ini, disini saya masukan nama “vault-kms” namanya bebas tidak mesti sama
klik next next saja, lalu pada step ke 5 klik button finish
lalu selanjutnya kita akan dibawa ketampilan seperti dibawah ini
oke selanjutnya kita masuk kedalam server vault berjalan untuk melakukan perubahan pada file config.hcl, tambahkan baris dibawah
seal "awskms" { region = "ap-southeast-1" kms_key_id = "46a2fa0a-xxxx-xxxx-xxxx-7bfa2a8b2511" }
sehingga isi file config.hcl menjadi seperti dibawah ini
storage "raft" { path = "./vault/data" node_id = "node1" } listener "tcp" { address = "0.0.0.0:8200" tls_disable = "true" } disable_mlock = true api_addr = "http://0.0.0.0:8200" cluster_addr = "https://127.0.0.1:8201" ui = true seal "awskms" { region = "ap-southeast-1" kms_key_id = "46a2fa0a-xxxx-xxxx-xxxx-7bfa2a8b2511" }
selanjutnya stop dan start vault, atau restart vault, setelah itu jalankan perintah dibawah baik dari vault server ataupun dari vault client
vault operator unseal -migrate
selanjutnya kita bisa cek dengan perintah dibawah
vault operator unseal -migrate
outputnya akan seperti dibawah
- oke sekian tutorialnya, sekarang kalian tidak perlu manual memasukan seal key setelah melakukan restart pada vault, semoga bermanfaat
referensi: