Comandos frecuentes HashiCorp Vault

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda

-- Exportar las variables de entorno

export VAULT_ADDR='http://127.0.0.1:8200'
export VAULT_TOKEN="s.U5duDLHYe9eXuilMIhAq6Xox"

-- Ver el estado del server

vault status

-- Crear un secret (key/value) es recomendable usar archivos para que no se quede en la historia de comandos el secreto

vault kv put secret/hola aquilallave=aquielvalor

-- Obtener una llave y valor

vault kv get secret/hola 

-- ejemplo de la salida del comando

====== Metadata ======
Key              Value
---              -----
created_time     2021-01-16T23:43:04.480355035Z
deletion_time    n/a
destroyed        false
version          1

======= Data =======
Key            Value
---            -----
aquilallave    aquielvalor

-- Para crear varios pares de secretos en un solo comando

vault kv put secret/hola llave1=valor1 llave2=valor2

-- opcionalmente se puede usar una salida en formato json

vault kv get -format=json secret/hola

-- la salida sería así:

{
  "request_id": "ecb56ea7-03c3-8cdc-ef13-7b850f1c5106",
  "lease_id": "",
  "lease_duration": 0,
  "renewable": false,
  "data": {
    "data": {
      "llave1": "valor1",
      "llave2": "valor2"
    },
    "metadata": {
      "created_time": "2021-01-17T03:38:08.223324299Z",
      "deletion_time": "",
      "destroyed": false,
      "version": 4
    }
  },
  "warnings": null
}

-- Si solo se requiere el valor se puede extraer con la herramienta jq (para instalar sudo apt install jq)

vault kv get -format=json secret/hola|jq -r .data.data.llave2

El resultado del anterior comando sería: valor2

-- Borrar un secreto

vault kv delete secret/hola

-- Habilitar un motor de secretos o secret engine

vault secrets enable -path=kv kv

El comando anterior también se puede escribir como:

vault secrets enable kv

-- Ver la lista de motores activos

vault secrets list

-- poner un secreto en la ruta recién creada

vault kv put kv/hola llave3=valor3
===== Data =====
Key       Value
---       -----
llave3    valor3

-- crear secreto en la ruta kv/mi-secreto

vault kv put kv/mi-secreto valor="s3c(eT0"

-- Leer el valor de mi-secreto

vault kv get kv/mi-secreto
==== Data ====
Key      Value
---      -----
valor    s3c(eT0

-- Listar secretos actuales en la ruta kv/

vault kv list kv/

-- Eliminar secretos

vault kv delete kv/mi-secreto

-- deshabilitar un engine

vault secrets disable kv/