07Seguridad · Complemento de bóveda

ClickVault

Complemento del motor de secretos de base de datos HashiCorp Vault para ClickHouse. Credenciales dinámicas, rotación de contraseñas, DDL compatible con clústeres.

Crea usuarios ClickHouse de corta duración a pedido y rota las contraseñas según un cronograma.

Go 1.26+Vault SDKClickHouseDatabase secrets
Último commit del repositorio

Cargando últimos commits…

Líneas fuente

1,017

Líneas de prueba

979

códigocov

85.4%

CI aplicado

YES

01

Problema

ClickHouse carece de soporte nativo de credenciales dinámicas en el motor de secretos de bases de datos de Vault. Los equipos que administran clústeres ClickHouse necesitan credenciales de corta duración y rotación automatizada de contraseñas sin intervención manual.

02

¿Por qué es difícil?

Los clústeres ClickHouse utilizan DDL distribuido (ON CLUSTER), que la mayoría de los complementos de Vault no manejan. La creación de usuarios dinámicos debe ser atómica: si las concesiones fallan, se debe limpiar el usuario creado parcialmente. La rotación de contraseñas debe funcionar en motores replicados y no replicados. El complemento debe implementar correctamente la interfaz dbplugin.Database de Vault mientras maneja las diferencias de sintaxis específicas de ClickHouse.

03

Modelo de seguridad

Invariantes
Inyección SQLBLOCKED
Acceso simultáneoMUTEX
creación parcialCLEANUP
Colisión de nombre de usuarioGUARDED
Soporte para TLSYES
04

Decisiones clave

DDL compatible con clústeres

La inserción ON CLUSTER garantiza que DDL se propague por todo el clúster. Maneja tablas de motor replicadas y no replicadas.

Verificación de privilegios

La verificación de la conexión verifica que la cuenta de servicio tenga los privilegios requeridos antes de aceptar la configuración.

Limpieza en caso de fallo

Si la creación del usuario se realiza parcialmente (por ejemplo, las concesiones fallan), el complemento elimina el usuario creado parcialmente para evitar cuentas huérfanas.