12 jun 2020

Gestionando secretos con Vault (Parte II)

¡Buenas!

En este post, el segundo de esta serie, os vamos a contar algunas de las acciones que podemos llevar a cabo con Vault. Concretamente, nos vamos a centrar en aquellas que hacen referencia al almacén clave-valor de la herramienta, puesto que es el que nos permitiría evitar el uso de credenciales en claro en nuestros proyectos y nos facilitaría su gestión.

Una de las características de Vault es que podemos desplegar un servidor de desarrollo para realizar diferentes pruebas. Evidentemente, no es recomendable desplegar este tipo de servidor en un entorno productivo por razones obvias, pero resulta bastante útil si se quieren realizar pruebas para conocer la herramienta en un entorno local.

En primer lugar, verificamos el estado del servidor ejecutando el comando vault status:

Una vez que hemos verificado el estado del servidor, podemos empezar a darle forma a nuestro almacén de secretos y, para ello, vamos a crear un secreto mediante el siguiente comando:



Como se puede ver, se hace uso de las siguientes opciones:
  • kv: permite interactuar con el almacén clave-valor.
  • put: es la opción para indicar que queremos insertar un secreto en el almacén.
  • secret/test: es el almacén que se creará por defecto en el directorio "secret".
  • keytest=valor-de-prueba: es el par clave valor.

Cuando queramos rescatarlo, tendremos que hacer uso de la clave "keytest" para recuperar el secreto "valor-de-prueba", como veremos en el siguiente ejemplo:



En este ejemplo, hemos empleado las siguientes opciones:
  • kv: permite interactuar con el almacén clave-valor.
  • get: es la opción para indicar que queremos extraer un secreto del almacén.
  • secret/test: es el almacén del que queremos extraer los secretos.

En el caso de que existieran varios secretos guardados en el almacén, bastaría con emplear la opción –field = clave para obtener el valor correspondiente a la clave que nos interesaría obtener:


Por último, si quisiéramos eliminar un secreto, tan solo tendríamos que utilizar la opción delete del siguiente modo:


Igualmente, si quisiéramos recuperar las claves del almacén de secretos, tras su eliminación, no aparecerá ningún par clave-valor y, en lugar de aparecer "n/a" en la fecha de eliminación (como se puede comprobar en la creación de un secreto), aparecerá la fecha en la que se produjo el borrado.

Adicionalmente, Vault dispone de una API HTTP, mediante la que se pueden realizar las mismas operaciones que hemos mostrado mediante línea de comandos y una interfaz de usuario accesible desde el navegador.

En el último post de esta serie, os comentaremos algunos detalles sobre la interfaz de usuario de Vault provista por el servidor de desarrollo para realizar pruebas.

Esperamos que esta herramienta os pueda resultar de utilidad.

¡¡Saludos y hasta el próximo post!!

No hay comentarios:

Publicar un comentario