Muchas veces vamos a necesitamos realizar alguna acción administrativa en Vault que requiera un root token y no disponemos de uno, podemos generar uno temporalmente mediante generate-root.
Para ello necesitaremos el quorum de claves configurado en Vault.
Generar el token
Comenzamos el proceso con:
vault operator generate-root -init
Vault nos mostrará información similar a:
Nonce: 12345678-1234-1234-1234-123456789abc
Started: true
Progress: 0/3
Required Shares: 3
OTP: xxxxxxxxxxxxxxxxxxxxxxxxx
Debemos guardar el Nonce y el OTP.
En este ejemplo necesitamos 3 claves para completar el proceso.
Introducir las claves
Ahora introducimos las claves necesarias:
vault operator generate-root \
-nonce="12345678-1234-1234-1234-123456789abc"
Vault solicitará una clave:
Unseal Key (will be hidden):
Repetimos el comando con las diferentes claves hasta alcanzar el threshold configurado.
Cuando se complete el proceso obtendremos algo similar a:
Progress: 3/3
Complete: true
Encoded Token: xxxxxxxxxxxxxxxxxxxxxxxxx
Obtener el root token
Con el Encoded Token y el OTP podemos obtener el root token:
vault operator generate-root \
-decode="xxxxxxxxxxxxxxxxxxxxxxxxx" \
-otp="xxxxxxxxxxxxxxxxxxxxxxxxx"
Vault devolverá el token:
hvs.xxxxxxxxxxxxxxxxxxxxxxxxx
Ya podemos utilizar este token para realizar las operaciones administrativas que necesitemos.
Revocar el token
Una vez terminada la operación, es importante revocar el root token para no dejar activo un token con privilegios completos de administración.
Podemos hacerlo con:
vault token revoke <ROOT_TOKEN>
De esta forma, el token root permanece activo únicamente durante el tiempo necesario para realizar la operación administrativa y después queda revocado.