Modelo de seguridad¶
| Aspecto | Cómo lo gestiona Tenax |
|---|---|
| Datos en reposo | Cifrado age en el cliente de cada objeto de datos, para destinatarios que tú controlas. El bucket y su proveedor nunca ven texto en claro. |
| Claves | La identidad de respaldo (clave privada) solo la leen los Jobs de restauración. Guarda una copia offline: sin ella no se puede restaurar nada. Una clave de catálogo aparte permite a la consola leer inventarios y vistas previas enmascaradas, pero no volcados ni WAL (ADR 0009). |
| Acceso a la base de datos | Un usuario con privilegios mínimos por base de datos, nunca un administrador: lee los datos para los volcados y replica para el flujo (Usuarios de base de datos). |
| Acceso a Kubernetes | Lectura en todo el clúster de los recursos propios de Tenax; en los namespaces de objetivos, solo lectura de los secretos tenax-*. Los pods se ejecutan sin root, con el sistema de archivos raíz de solo lectura y sin capabilities. |
| Consola y API | Verificación del JWT de Cloudflare Access, cuatro roles (viewer, operator, restorer, restorer-admin), ámbitos opcionales por organización y proyecto, y un log de auditoría de cada escritura y cada consulta. Las peticiones se validan contra el documento OpenAPI. |
| Sandboxes | Su propio namespace, una NetworkPolicy, credenciales generadas y un TTL. Solo se exponen mediante Cloudflare Tunnel detrás de Access cuando lo activas. |
| Secretos en los logs | Nunca se registran: el logger oculta contraseñas, tokens, identidades y cabeceras de autorización. |
La revisión completa, con los puntos abiertos, está en Revisión de seguridad.