hashicorp vault auto unseal with aws kms

0
620

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: