Inicio / Blog / Logs por tenant
Seguridad SaaS y observabilidad

Logs multi-tenant sin filtrar datos entre clientes

Operaciones necesita responder “¿qué ocurrió con el job de este cliente?” sin convertir los logs compartidos en un navegador de datos entre cuentas. El contexto de tenant ayuda a diagnosticar, dar soporte y medir, pero no garantiza aislamiento. El identificador debe proceder de una identidad confiable, los payloads sensibles deben reducirse y la búsqueda de logs necesita su propia autorización.

Propaga contexto de identidad confiable

Vincula identidad, propaga contexto seguro y autoriza cada consulta
1 / AutenticarResuelve usuario y tenant desde identidad verificada.
2 / AutorizarComprueba acceso al recurso, no solo el login.
3 / PropagarAñade IDs opacos y de correlación.
4 / MinimizarElimina secretos y payload innecesario.
5 / ConsultarLimita soporte y audita las búsquedas.

Usa contexto validado, no etiquetas del cliente

No confíes en un tenant recibido por query string, header arbitrario o mensaje de log como prueba de alcance. Resuélvelo mediante la identidad autenticada y el recurso autorizado, y propaga un identificador opaco canónico. Los jobs asíncronos deben guardar esa vinculación verificada y volver a autorizar al ejecutarse.

Prefiere identificadores seudónimos. Los IDs en logs y métricas pueden revelar relaciones comerciales y tener cardinalidad alta. Separa correlación de nombres, correos y números de cuenta.

Registra decisiones y resultados, no payloads completos

Campo útilForma más seguraEvita
TenantClave opaca de identidad confiableNombre de cliente o valor bruto de la solicitud
OperaciónEvento normalizado y código de resultadoCuerpo completo de request/response
RecursoID interno o seudónimo si hace faltaCredenciales, pagos o contenido sensible
CorrelaciónTrace ID y job ID con permisosToken de sesión reutilizable

Sanitiza entradas contra log injection con saltos de línea y delimitadores. Redacta en la aplicación antes de serializar: el filtrado posterior no evita que colectores, archivos u operadores vean el flujo original. Usa campos permitidos para eventos de seguridad en vez de “registrarlo todo” como atajo de soporte.

Autoriza por separado la plataforma de logs

La autorización de la aplicación no protege automáticamente la plataforma de observabilidad. Limita quién puede buscar por tenant, separa roles de soporte y de administración y registra consultas excepcionales. Las exportaciones de cliente deben filtrarse en el servidor con la identidad autenticada, no solo en el navegador. Prueba que un usuario no pueda cambiar el tenant y leer eventos ajenos.

El acceso de emergencia debe tener motivo, duración y auditoría, no una cuenta compartida permanente. Define retención y borrado según compromisos de privacidad y obligaciones legales.

Controla cardinalidad y costes

Los IDs de tenant pueden disparar la cardinalidad al etiquetar todas las métricas. Deja el detalle en logs y trazas protegidos y usa métricas agregadas para la salud del servicio. Muestrea éxitos rutinarios, conserva eventos de seguridad según política y limita payloads para evitar inundaciones.

Prueba el aislamiento como contrato

Ejecuta dos tenants por el mismo request, cola y flujo de soporte. Intenta falsificar IDs, omitir contexto, repetir jobs y consultar o exportar eventos ajenos. Comprueba permisos y denegaciones. Un evento sintético ayuda a confirmar que paneles y alertas no exponen datos ampliamente.

En resumen

Los logs multi-tenant necesitan identidad confiable, minimización y autorización en la propia capa de observabilidad. Usa IDs opacos, registra decisiones en vez de payloads, limita consultas de soporte y prueba las fronteras de extremo a extremo. El diagnóstico debe mostrar el impacto sin convertir la actividad de un cliente en una fuga para otro.

Referencias