Sobre el proyecto
Vault es una herramienta de gestión de secretos de HashiCorp. Un secreto es cualquier cosa a la que quieras controlar estrictamente el acceso, como claves API, contraseñas, certificados y credenciales similares. Vault proporciona una interfaz unificada para cualquier secreto, ofreciendo un control de acceso estricto y un registro de auditoría detallado.
Características clave descritas en el README:
- Almacenamiento seguro de secretos: Vault almacena pares clave/valor arbitrarios y cifra los datos antes de escribirlos en el almacenamiento persistente, por lo que el acceso al almacenamiento en bruto no es suficiente para leer secretos. Puede escribir en disco, Consul y otros backends.
- Secretos dinámicos: Vault puede generar secretos bajo demanda para sistemas como AWS o bases de datos SQL. Por ejemplo, una aplicación puede solicitar credenciales para un bucket de S3, y Vault genera un par de claves de AWS con permisos válidos bajo demanda, y luego lo revoca automáticamente cuando expira el arrendamiento.
- Cifrado de datos: Vault puede cifrar y descifrar datos sin almacenarlos, permitiendo que los equipos de seguridad definan parámetros de cifrado mientras los desarrolladores almacenan datos cifrados en lugares como una base de datos SQL sin diseñar su propio cifrado.
- Arrendamiento y renovación: Cada secreto está asociado a un arrendamiento; al final del arrendamiento, Vault revoca automáticamente el secreto, y los clientes pueden renovar los arrendamientos mediante las API de renovación integradas.
- Revocación: Vault admite la revocación de secretos individuales o árboles de secretos, por ejemplo, todos los secretos leídos por un usuario específico o todos los secretos de un tipo particular, lo que ayuda con la rotación de claves y el bloqueo de sistemas después de una intrusión.
El README apunta a documentación, guías de inicio, tutoriales y un examen de certificación en la plataforma de aprendizaje de HashiCorp, además de repositorios de ejemplo para interactuar con Vault desde aplicaciones en diferentes lenguajes y una aplicación de muestra.
Para el desarrollo, Vault está escrito en Go. El README describe cómo instalar Go y configurar GOPATH/GOBIN, clonar el repositorio fuera de GOPATH y arrancar con make bootstrap. Las compilaciones de desarrollo se producen con make o make dev, y una compilación de UI con make static-dist dev-ui. Las pruebas se ejecutan con make test (requiere Docker), y las pruebas específicas de paquetes se pueden ejecutar con la variable TEST. Las pruebas de aceptación se ejecutan con make testacc y pueden crear, modificar o destruir recursos reales, por lo que deben ejecutarse con cuidado. El repositorio también documenta un mecanismo de prueba experimental basado en Docker utilizando el paquete sdk/helper/testcluster/docker, incluyendo opciones para binarios personalizados y licencias Enterprise.
El repositorio publica dos bibliotecas importables, github.com/hashicorp/vault/api y github.com/hashicorp/vault/sdk. El README señala que importar el producto principal de Vault como dependencia no es un caso de uso compatible. Los problemas de seguridad deben divulgarse de manera responsable a security@hashicorp.com.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.