ClearedToShip
high

Buenas prácticas de RLS en Supabase

El problema

Activar RLS es solo la mitad del trabajo. Las políticas permisivas o incorrectas dejan los datos expuestos incluso con RLS "activado". Estas son las prácticas que hacen que la seguridad a nivel de fila de Supabase realmente proteja tus datos.

Paso a paso

  1. 1

    Deniega por defecto, permite de forma explícita

    Activa RLS en cada tabla para que el acceso se deniegue por defecto, y luego agrega políticas estrechas. Nunca uses una política 'true' o de permitir todo en tablas con datos privados.

  2. 2

    Acota las políticas al usuario

    Usa auth.uid() para limitar las filas a su propietario, por ejemplo USING (auth.uid() = user_id). Escribe políticas separadas por operación (select/insert/update/delete) y usa WITH CHECK en las escrituras.

  3. 3

    Protégete contra la escalada de privilegios

    Mantén la clave service-role solo en el servidor: omite RLS. No expongas vistas ni funciones SECURITY DEFINER que filtren datos alrededor de tus políticas.

  4. 4

    Prueba como anónimo y como usuario

    Verifica que las solicitudes anónimas no devuelvan nada y que un usuario no pueda leer ni escribir las filas de otro. Vuelve a ejecutar el verificador de RLS gratis para confirmarlo.

¿Quieres que lo verifiquen, no solo que lo corrijan?

Corregirlo es el primer paso. Una revisión de ClearedToShip confirma que la corrección realmente se sostiene y te entrega una autorización firmada y asegurada para lanzar. Únete al acceso anticipado:

Escaneo gratuito de preparación para el lanzamiento
Obtener mi escaneo gratis