Tutorial Auto Unseal Hashicorp Vault Bahasa indonesia

vault-kms-banner

Halo semuanya kembali lagi dengan penulis (NBA.stl), kali ini kembali membahas tentang hashicorp vault. Artikel ini akan memberikan sebuah tutorial auto unseal hashicorp vault dalam Bahasa Indonesia. Harapannya adalah agar teman-teman dapat mengerti dengan mudah bagaimana cara membuat hashicorp vault yang sudah auto unseal. Sebelum mencoba tutorial auto unseal bahasa indonesia, da baiknya untuk mengikuti tutorial Install Hashicorp Vault HA Cluster terlebih dahulu. Pastikan cluster sudah running. Juga perlu untuk memastikan bahwa cluster sudah terinisialisasi dan unsealed statusnya

Sebenarnya tutorial ini mengambil referensi dari artikel di medium: Vault Auto-unseal using Transit Secret Engine on Kubernetes. Metode auto unseal yang digunakan adalah Transit Secrets Engine.

Auto Unseal KMS – Hashicorp Vault

1. Configure Auto-unseal Key Provider

Lakukan step by step ini pada transite engine node (vm).

  • Join atau hubungkan transit engine ke leader node terlebih dahulu
vault operator raft join http://ip_leader_node:8200
  • Unseal dengan unseal key dari leader node
vault operator unseal unseal_key_from_leader_node
  • enable terlebih dahulu audit device
vault audit enable file file_path=audit.log
  • Berikan instruksi agar node ini menjadi transit secret engine untuk auto unseal
vault write -f transit/keys/autounseal
  • buat policy bernama autounseal.hcl
tee autounseal.hcl <<EOF
path "transit/encrypt/autounseal" {
   capabilities = [ "update" ]
}

path "transit/decrypt/autounseal" {
   capabilities = [ "update" ]
}
EOF
  • lalu berikan instruksi untuk menerapkan policy yang sudah dibuat
vault policy write autounseal autounseal.hcl
  • Buatlah periodic orphan token dengan policy autounseal dan gunakan response wrap dengan TTL 120 detik
vault token create -orphan -policy="autounseal" -wrap-ttl=120 -period=24h
Contoh output:

Key                              Value
---                              -----
wrapping_token:                  s.qg6HS6WNOYQ2SjnyyMqdSbZ0
wrapping_accessor:               4mHRpfx5oZcHhWAg6VeTR4or
wrapping_token_ttl:              2m
wrapping_token_creation_time:    2019-04-15 15:28:30.598376 -0700 PDT
wrapping_token_creation_path:    auth/token/create
wrapped_accessor:                GlZflsyuG891yw3PYC4b7GrM

2. Buat Leader Node Agar dapat Menggunakan AUto Unseal

  • unwrap terlebih dengan wrapping_token yang sudah didapat sebelumnya agar mendapatkan token baru.
VAULT_TOKEN=wrapping_token vault unwrap
Contoh output:

Key                  Value
---                  -----
token                s.SJj086AW7ZaobvRmNoSjhVaj
token_accessor       6lUHdlwRZfyRnHtNiz8ZB1Jx
token_duration       768h
token_renewable      true
token_policies       ["autounseal" "default"]
identity_policies    []
policies             ["autounseal" "default"]
  • lalu set VAULT_TOKEN variable dari token baru yang didapatkan
export VAULT_TOKEN="token"
  • tambahkan konfigurasi auto unseal pada file vault.hcl
vi /etc/vault.d/vault.hcl
  • tambahkan value seperti ini, jika sudah save file tersebut
seal "transit" {
  address = "http://ip_transite_engine:8200"
  disable_renewal = "false"
  key_name = "autounseal"
  mount_path = "transit/"
  tls_skip_verify = "true"
}
  • restart daemon dan restart service vault
systemctl daemon-reload && systemctl restart vault 
  • Lakukan init pada leader node
vault operator init
Contoh output:

Recovery Key 1: iz1XWxe4CM+wrOGqRCx8ex8kB2XvGJEdfjhXFC+MA6Rc
Recovery Key 2: rKZETr6IAy686IxfO3ZBKXPDAOkkwkpSepIME+bjeUT7
Recovery Key 3: 4XA/KJqFOm+jzbBkKQuRVePEYPrQe3H3TmFVmdlUjRFv
Recovery Key 4: lfnaYoZufP0uhooO3mHDAKGNZB5HLP9HYYb+LAfKkUmd
Recovery Key 5: L169hHj3DMpphGsOnS8TEz3Febvdx3vsG3Xr8kGWdUtW

Initial Root Token: s.AWnDagUkKNNbvkENiL72wysn

Success! Vault is initialized

Recovery key initialized with 5 key shares and a key threshold of 3. Please
securely distribute the key shares printed above.
  • Jika sudah, vault akan otomatis terunseal dengan sendirinya. Untuk follower node, cukup tambahkan konfigurasi auto unseal di /etc/vault.d/vault.hcl saja, lalu restart seperti biasa

Jangan lupa mampir ke cybertechnologyspace.my.id

Leave a Reply