Cómo Helicone aísla a sus clientes al permitir SQL directo sobre ClickHouse

Fuentes: Allowing your users to query ClickHouse directly using raw SQL

Helicone, plataforma de observabilidad para aplicaciones de IA, incorporó un editor SQL llamado HQL que permite a los clientes ejecutar consultas SELECT directamente contra su clúster compartido de ClickHouse. Como todos los datos de tenants conviven en una misma tabla diferenciados por organization_id, el principal reto de ingeniería consistió en impedir que un cliente pueda leer registros de otro. La solución se apoya en dos funciones de ClickHouse poco conocidas: las row policies y las custom settings.

El sistema crea un usuario específico (hql_user) con una política de fila asociada que añade automáticamente un filtro por organization_id a cada SELECT. Ese identificador viaja como parámetro de la consulta con el prefijo SQL_, obligatorio en ClickHouse Cloud, y procede siempre de la capa de autenticación, nunca de la entrada del usuario. Además, se establece readonly = 1 para impedir que una cláusula SETTINGS redefina el valor del filtro, y el editor rechaza en código cualquier consulta que mencione el nombre del ajuste.

El usuario HQL solo conserva el permiso SELECT sobre la tabla request_response_rmt y se le revocan todos los privilegios sobre system, information_schema y default. La aplicación también oculta del autocompletado la columna organization_id, de modo que el aislamiento no recae en un parser SQL externo, sino en el propio motor de la base de datos. Como red de seguridad adicional, las consultas se validan para limitar las tablas accesibles, forzar LIMIT y restringir duración, memoria y filas devueltas por consulta.