Arreglaré tu error 403 rls en la carga de almacenamiento de supabase en 24 horas

B
basildraz
B
basildraz
Basel Draz
Parte de la información se ha traducido automáticamente.

Acerca de este Servicio

Traducción automática

Tu carga devuelve 403 y el mensaje dice política de seguridad a nivel de fila. La política parece correcta. Normalmente lo es.

Lo que realmente está pasando es una de seis cosas: la solicitud llega sin sesión, por lo que se considera anónima, la inserción se juzga por WITH CHECK y no USING, el prefijo del camino no es lo que espera la política, las cargas upsert y resumibles necesitan también una política de UPDATE, las URLs firmadas necesitan SELECT, o falta una concesión debajo de la política y devuelve el mismo 403.

Encuentro cuál es, lo arreglo y lo demuestro: la misma carga desde tu propio cliente, antes y después, con la respuesta impresa junto a ella.

Obtienes la migración, una línea sobre qué fue realmente lo que falló, y una revisión de qué aún bloquea a un extraño, para que la solución no abra silenciosamente tu bucket a todos.

Envíame el error exacto, el SQL de la política, el nombre del bucket y cómo está creado tu cliente. Una copia de staging o un rol de solo lectura es suficiente. No necesito tu clave de rol de servicio.

Construyo un POS multitenant en Supabase, con unas 90 migraciones, en tiendas reales. Tres revisiones de seguridad encontraron seis fallos reales, todos después de políticas que estaban correctas tal cual estaban escritas.

Conoce a Basel Draz

Basel Draz

Supabase RLS and privilege audits

  • DeEgipto
  • Miembro desdefeb 2024
  • Responde aprox. en:11 horas
  • Idiomas

    Árabe, Inglés
I build multi-tenant systems on Next.js and Supabase, and I do security passes on them. I maintain a point-of-sale platform running in real shops - FIFO inventory batches, recipe items, staff permissions enforced in the database, thermal receipts. 90 migrations, three security reviews deep. Those reviews found six real holes, every one past policies that were correct as written. I published the checks that found them as an open-source read-only SQL script. Authorization belongs in the database, not the interface. Nothing is confirmed by reading code - I ask your database as a real user.

Traducción automática

Mi porfolio