Glosario · Arquitectura

Row-Level Security (RLS): aislamiento a nivel base de datos

Mecanismo de PostgreSQL (y otros SGBD) que aplica políticas de acceso automáticas por fila según el contexto de la sesión.

En PostgreSQL se activa así sobre una tabla:

ALTER TABLE clientes ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON clientes
  USING (tenant_id = current_setting('app.tenant_id')::uuid);

Desde ese momento, cualquier SELECT, UPDATE o DELETE sobre clientes sólo ve las filas con el tenant_id coincidente. Si el desarrollador olvida el WHERE tenant_id = ?, la DB lo aplica igualmente.

Ventajas:

  • Red de seguridad contra fugas cross-tenant por error humano
  • Permite a un admin ver cualquier tenant simplemente cambiando el setting
  • Separa completamente la lógica de aislamiento del código aplicativo

Por qué importa

RLS es la capa que salva a un SaaS multi-tenant cuando un desarrollador nuevo se incorpora y escribe una query ad-hoc sin el filtro. Sin RLS, un bug puede exponer datos entre clientes; con RLS, la DB rechaza la query directamente.

Siguiente paso

¿Tienes un proyecto exigente entre manos?

Cuéntanos qué necesita tu empresa. En la primera llamada evaluamos viabilidad técnica, alcance y presupuesto cerrado. Sin compromiso.

Antes de cerrar

Un email cada dos semanas con lo que aprendemos.

Casos reales, decisiones técnicas con números, lecturas curadas. Sin "tips de LinkedIn", sin spam, sin emails en fin de semana.

Suscribirme a la newsletter