Ich werde deinen Supabase Storage Upload 403 RLS-Fehler in 24 Stunden beheben

B
basildraz
B
basildraz
Basel Draz
Einige Informationen wurden automatisch übersetzt.

Über diesen Service

Automatische Übersetzung

Dein Upload gibt 403 zurück und die Nachricht sagt Row-Level Security Policy. Die Policy sieht korrekt aus. Das ist sie meistens.

Was tatsächlich passiert, ist eines von sechs Dingen: Die Anfrage kommt ohne Session an, landet als anon, das Insert wird durch WITH CHECK beurteilt und nicht USING, der Pfadpräfix stimmt nicht mit der Policy überein, Upsert und resumable Uploads brauchen auch eine UPDATE-Policy, signierte URLs benötigen SELECT, oder eine Grant unter der Policy fehlt und gibt denselben 403 zurück.

Ich finde heraus, welches es ist, behebe es und beweise es: derselbe Upload von deinem eigenen Client, vorher und nachher, mit der Antwort daneben gedruckt.

Du bekommst die Migration, eine Zeile darüber, was tatsächlich falsch war, und eine Überprüfung, was einen Fremden noch blockiert, damit die Lösung dein Bucket nicht stillschweigend für alle öffnet.

Sende mir den genauen Fehler, die Policy-SQL, den Bucket-Namen und wie dein Client erstellt wurde. Eine Staging-Kopie oder eine Read-Only-Rolle reichen aus. Ich brauche nicht deinen Service-Role-Key.

Ich baue ein Multi-Tenant-POS auf Supabase, rund 90 Migrationen, live in echten Shops. Drei Sicherheitsüberprüfungen haben sechs echte Schwachstellen gefunden, alle nach Policies, die so geschrieben waren, wie sie sind.

Lerne Basel Draz kennen

Basel Draz

Supabase RLS and privilege audits

  • AusÄgypten
  • Mitglied seitFeb. 2024
  • ⌀ Antwortzeit11 Stunden
  • Sprachen

    Arabisch, Englisch
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.

Automatische Übersetzung

Mein Portfolio