¿Qué es seguridad a nivel de fila?
La seguridad a nivel de fila (RLS) es una función de la base de datos que decide, fila a fila, qué registros puede leer o cambiar cada usuario, de modo que un cliente solo vea sus propios pedidos aunque la app pida más.
Sin ella, la regla «los usuarios solo ven sus propios datos» vive en el código de la app. Si una pantalla o una API se olvida de comprobarla, los datos privados pueden filtrarse.
Con la seguridad a nivel de fila, la regla vive en la propia base de datos. Escribes una política como «una fila de pedidos solo es visible cuando su customer_id coincide con el usuario que ha iniciado sesión», y la base de datos la aplica a cada consulta.
Postgres admite seguridad a nivel de fila, y algunos servicios de backend dependen mucho de ella porque sus apps hablan con la base de datos directamente desde el navegador. En esos casos, una tabla sin política puede ser legible por cualquiera.
RLS es una capa de protección, no la única. Las apps siguen necesitando un inicio de sesión adecuado, comprobaciones en el servidor y un cuidado especial con el acceso de administrador.
Ejemplos
- Los clientes de un portal solo ven sus propios documentos
- Cada equipo de una herramienta solo ve sus propios proyectos
Preguntas
¿Necesito seguridad a nivel de fila?
Si tu app guarda datos privados de muchos usuarios y alguna parte consulta la base de datos directamente desde el navegador, sí. Si todo el acceso pasa por un backend que comprueba los permisos, RLS es una red de seguridad adicional.
¿La seguridad a nivel de fila es lo mismo que los roles?
No. Los roles describen qué tipo de usuario es alguien, como administrador o miembro. La seguridad a nivel de fila usa datos como el identificador del usuario o su rol para decidir a qué filas concretas puede acceder.
Ver también
- Cómo añadir control de acceso basado en roles
- Lista de comprobación de seguridad para apps creadas con IA
Mythex · Pricing · Crea lo que quieras con IA · Plantillas de sitios web y apps · Mythex comparado · Glosario para crear apps con IA · Herramientas gratis para crear apps con IA · English