¿Qué es Row Level Security (RLS) y cómo protege mis datos?
Row Level Security (RLS) · Seguridad y legal
Row Level Security, o seguridad a nivel de fila, son reglas dentro de la base de datos que deciden, registro por registro, quién puede leer o modificar qué. La base misma revisa quién hace la petición, aunque la aplicación se equivoque al filtrar.
¿Qué es Row Level Security y cómo protege los datos de mi aplicación?
Row Level Security, o seguridad a nivel de fila, es una función de bases de datos como PostgreSQL que aplica permisos a cada registro. La base misma revisa quién hace la petición y solo le deja ver o cambiar lo que le corresponde, aunque la aplicación se equivoque al filtrar.
Es muy útil en servicios como Supabase, donde la aplicación habla con la base usando una llave pública. Esa llave no es secreta por diseño; lo que protege los datos son las reglas.
Una aplicación con muchos usuarios o con datos sensibles no puede depender de que cada pantalla recuerde filtrar la información. Con reglas en la base, un error en el código de la interfaz no basta para exponer los datos de otro cliente.
Lo mismo, en pequeño y en grande
Una app de una academia pequeña
Una academia guarda los datos de sus alumnos en la nube. El registro público está apagado y solo la cuenta de la escuela puede leer o escribir. Aunque alguien conozca la dirección de la base, las reglas no lo dejan ver nada.
Una aplicación con muchos clientes
Una aplicación guarda los datos de miles de personas en la misma tabla. Con reglas por fila, cada usuario solo ve sus propios registros. Un error en la pantalla no basta para mostrarle a alguien los datos de otro.
Cómo lo usamos en Damorus
En Atlantic Center la seguridad la dan Row Level Security y una cuenta de sincronización: el registro público está apagado y solo una sesión autenticada de la escuela puede leer o escribir. Encima, el permiso de borrar está revocado en la base, así que la app solo marca registros como eliminados; el borrado real necesita una llave maestra que guarda el dueño. URG Technology usa PostgreSQL con Row Level Security en sus tablas de operación.
Pon a prueba lo que leíste
Elige A, B o C. Si fallas, lees el porqué y pruebas otra vez.
Una pantalla de tu app se olvida de filtrar y le pide a la base todos los registros. Con reglas a nivel de fila, ¿qué pasa?
Aprende jugando
Ábrelos todos
Ábrelos todos
Otros temas que te pueden interesar
