Lupa Root Token Vault? Begini Cara Generate Ulang dengan Aman

Lupa root token pada sistem seperti HashiCorp Vault bisa menjadi situasi yang bikin panik, apalagi jika token tersebut digunakan untuk akses administratif tingkat tinggi. Namun tenang saja, ada cara yang aman dan terstruktur untuk mengatasi masalah ini tanpa harus mengorbankan integritas sistem. Proses penggantian atau pembuatan ulang root token tidak bisa dilakukan sembarangan karena memang dirancang untuk menjaga sistem tetap terlindungi dari akses yang tidak sah. Oleh karena itu, kamu perlu memahami penggunaan unseal key dan kode nonce yang menjadi bagian penting dari proses pemulihan ini. Dalam panduan ini, kita akan bahas langkah demi langkah cara menghasilkan ulang root token dengan aman agar kamu tetap bisa mengelola Vault tanpa harus memulai dari awal atau kehilangan akses penting.

Step-by-step

Pastikan Kamu Menyimpan Unseal Key dengan Aman

Sebelum memulai proses regenerasi root token, pastikan kamu sudah menyimpan unseal key dengan baik. Unseal key ini akan digunakan beberapa kali dalam proses.

Contoh unseal key yang saya miliki:

Unseal key 1: u+uZSmPT716nwujVRWtWb914OpyaZ1cb46+RUulXMxfb
Unseal key 2: ip6wCHdzXoZ8QaHqcmtkYhr3mVT8gnJ7O3oOujOJKJWH
Unseal key 3: /1Vvq4IR55Bk0xiK8mjRAakiSqvVd1vp4uLX4ojsfI5v

Inisialisasi Proses Pembuatan Root Token Baru

Langkah pertama adalah memulai proses generate root token dengan perintah:

vault operator generate-root -init

Perintah ini akan mengembalikan nonce dan OTP (One-Time Password). Simpan kedua informasi ini karena akan digunakan pada langkah-langkah selanjutnya.

Contoh output:

A One-Time-Password has been generated for you and is shown in the OTP field.
You will need this value to decode the resulting root token, so keep it safe.
Nonce         11f7de63-ed82-248a-0866-546bebc11a57
Started       true
Progress      0/3
Complete      false
OTP           PBlDEpvVPc04EmldBcwaO3HuDFd5
OTP Length    28

Jalankan Proses Generate Root Token Menggunakan Nonce

Karena Vault saya menggunakan threshold 3, maka proses ini harus dijalankan sebanyak tiga kali, masing-masing dengan satu unseal key.

Gunakan perintah berikut untuk setiap key:

vault operator generate-root -nonce 11f7de63-ed82-248a-0866-546bebc11a57

Nanti akan muncul output seperti ini, masukan unseal keynya.

Operation nonce: 11f7de63-ed82-248a-0866-546bebc11a57
Unseal Key (will be hidden):

Setelah memasukkan unseal key, outputnya akan menunjukkan progres. Contoh:

Nonce       11f7de63-ed82-248a-0866-546bebc11a57
Started     true
Progress    1/3
Complete    false

Ulangi langkah ini dua kali lagi dengan unseal key berikutnya, sampai progress menunjukkan 3/3 dan status complete menjadi true.

Decode Root Token Menggunakan OTP

Setelah proses complete, langkah terakhir adalah mendekripsi root token menggunakan kode OTP yang diberikan di awal.

Gunakan perintah berikut (ganti -decode sesuai output yang kamu dapat):

vault operator generate-root -decode ODQfaj9ABhhgEVcAAANbUnsMMiAnAisjLyNTBA -otp PBlDEpvVPc04EmldBcwaO3HuDFd5

Setelah dijalankan, kamu akan mendapatkan root token baru. Contoh:

hvs.z0pN0rg4En769oEAh1cVke71

Verifikasi Root Token

Untuk memastikan token valid dan memang token root, lakukan verifikasi dengan:

export VAULT_TOKEN="hvs.z0pN0rg4En769oEAh1cVke71"
vault token lookup

Hasil output akan menunjukkan detail token. Jika field path menampilkan auth/token/root dan policy-nya adalah [root], maka token tersebut valid sebagai root token.

Contoh output:

Key                 Value
---                 -----
accessor            2vbd3Jq9TQzSaDqR32XquIQo
creation_time       1746813304
creation_ttl        0s
display_name        root
entity_id           n/a
expire_time         <nil>
explicit_max_ttl    0s
id                  hvs.z0pN0rg4En769oEAh1cVke71
meta                <nil>
num_uses            0
orphan              true
path                auth/token/root
policies            [root]
ttl                 0s
type                service
0
Subscribe to my newsletter

Read articles from Rivaldy Ahmad Azhar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rivaldy Ahmad Azhar
Rivaldy Ahmad Azhar