Skip to content

Instantly share code, notes, and snippets.

@jaimerodas
Last active May 25, 2018 20:56
Show Gist options
  • Save jaimerodas/9871c219dd3a3126d19032681d495209 to your computer and use it in GitHub Desktop.
Save jaimerodas/9871c219dd3a3126d19032681d495209 to your computer and use it in GitHub Desktop.
Cómo instalar/usar Vault

Cómo instalar/usar Vault

Instalación

Primero el ejecutable. Como brew es mágico, tons:

brew install vault

Necesitamos un archivo de configuración. El que estoy usando ahorita en mi máquina es:

storage "file" {
	path = "/experiments/vault"
}

listener "tcp" {
	address = "127.0.0.1:8200"
	tls_disable = true
}

disable_mlock = true

Luego, necesitamos prender el server:

vault server -config ~/vault-config.hcl

y pa que no chille por la falta de certificado:

export VAULT_ADDR=http://127.0.0.1:8200

First-run cosos

Ya que está prendido el server, hay que inicializarlo

vault operator init

Esta madre va a generar 6 códigos. NO VAYAS A PINCHES LIMPIAR TU PANTALLA PORQUE ES UN PEDO. Los 5 primeros códigos son para destapar el vault, y si alguna vez tenemos que reiniciar el server, vas a necesitar cualesquier 3 de esas 5 llaves. La otra es el root token, así que TAMPOCO LO VAYAS A PERDER. Cuando inevitablemente la cagues y los pierdas (obvio sólo en tu entorno de dev) pues vas a tener que borrar el directorio donde se guarda todo y empezar de nuez. Ni peiper.

Vault unseal

Aunque el server está prendido, así nomas no funciona. Necesitamos hacer un proceso de unseal para que pueda aceptar métodos de auth. Para eso hay que correr:

vault operator unseal

3 veces, cada vez entregándole un token diferente de los 5 que nos dio.

Vault auth

Como esta cosa es paranoica y no mamadas, el que ya hayas prendido el server, luego lo hayas inicializado, y luego destapado, no implica que puedas escribir/leer ni vergas. Ahora necesitamos autenticarnos. Obvio no has perdido el root-token que generó esta cosa al principio, y lo vas a poder usar al hacer:

vault login

Otros métodos de auth

Se pueden configurar otras formas de autenticación a esta cosa, tales como:

GitHub

vault auth enable github
vault write auth/github/config organization=resuelve

y con eso los usuarios con cuenta de github en la organización de resuelve van a poder hacer login haciendo:

vault login -method=github

Van a necesitar generar un personal access token que pueden generar en https://github.com/settings/tokens y tiene que tener mínimo read:org, read:user pa que jale chido.

Guardar secretos

Uno de los usos principales de Vault es tener un key-value store ultra seguro.

Generar secretos al vuelo (lo mero bueno)

PostgreSQL

MongoDB

SSH

Quién puede ver qué?

Policies por organización/equipo/usuario

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment