Supabase pregled · Procjena
Može li jedan korisnik čitati tuđe redove u vašem Supabaseu?
Ako je RLS politike u vašem Supabaseu napisao AI alat ili tutorijal i niko ih nije pročitao: za sedmicu tabela onoga što svaka uloga smije čitati i mijenjati, provjerena upitima.
FormatPisana procjena
Rok1 sedmica
CijenaProcjena po fiksnoj cijeni · rad po satu
Dokaz3 projekta
Procjena u 4 dijela
01 · Kada vam treba
Ako su dvije od ovih tačne, ovo vam odgovara.
- RLS politike su generisane ili prepisane iz tutorijala i niko ih nije pročitao do kraja
- Ne znate pouzdano može li jedan korisnik pročitati tuđi red
- Ključ koji je trebao ostati na serveru pojavljuje se negdje u klijentu
- Storage bucket je „privremeno“ javan još od prve sedmice
- Edge funkcija se izvršava sa service_role pravima jer je samo tako proradila
02 · Šta dobijate
Nakon sedmice predajemo vam dokument koji sadrži:
- Tabelu pristupa koja za svaku tabelu i svaku ulogu pokazuje šta ta uloga vidi i šta može mijenjati. Pravimo je izvršavanjem upita, pa odgovara onome što politike stvarno dopuštaju.
- Tabele bez ijedne politike i tabele na kojima je RLS uključen, ali politika u praksi propušta sve.
- Ključeve i tajne koje smo našli u klijentskom bundleu ili u repozitoriju, s oznakom koje treba odmah rotirati.
- Javne storage buckete, pravila po putanjama i edge funkcije koje zaobilaze politike jer se izvršavaju s povišenim pravima.
03 · Kako odlučujemo
KORAK 01Prvo tražimo ključeve.Ključ service_role potpuno zaobilazi sigurnost na nivou reda. Ako je već dospio u klijent, politike više ništa ne štite, a tabela pristupa gubi smisao.
KORAK 02Svaku politiku izvršavamo pod svakom ulogom.Svaku provjeravamo upitom koji pokrećemo kao anonimni korisnik, kao vlasnik reda i kao vlasnik nekog drugog reda. Politika koja vraća više redova nego što bi trebala ne javlja nikakvu grešku.
KORAK 03Permisivne politike se sabiraju.Spajaju se logičkim ILI, pa nova politika može samo proširiti ono što su ostale dopuštale. Baza ih primjenjuje sve zajedno, zato ih i pregledamo kao cjelinu.
KORAK 04Dodajemo provjere u build.Build pada kad se pojavi tabela bez politike, kad bucket postane javan ili kad obrazac ključa dospije u bundle. Radi li politika ono što joj ime kaže, i dalje mora pročitati i procijeniti čovjek.
04 · Ako ništa ne nađemo
Onda dobijate tabelu pristupa kao dokaz da svaka uloga čita i mijenja samo ono što treba. Uz nju dobijate i provjeru zbog koje build pada čim to više ne bude tako.
Dokaz
Gdje smo ovo već radili
Projekat 15 · Poslovni sistemiProdanoU white-label platformi za sastanke, namijenjenoj zdravstvu i finansijama, pravo da se otvori fajl zavisilo je od lanca koji ide preko sastanka, dokumenta, njegove verzije i potpisa. Jedan uslov na nivou reda to nije mogao izraziti.Pročitajte više o projektu →Projekat 08 · Marketplace506 rutaJedan codebase za pet vrsta korisnika, u kojem operater kod servisera i operater kod voznog parka imaju različita prava, jer se dozvola određuje iz tipa korisnika i uloge zajedno. Backend je provjerava još jednom, jer razdvajanje ruta u klijentu samo organizuje interfejs.Pročitajte više o projektu →Projekat 09 · Identitet1 radni danSistem za pasoše u kojem server hvata duple zahtjeve prije nego što išta prihvati, a nacionalni registar je zaštićen ključevima, digest autentifikacijom, jednokratnim tokenima i listom dozvoljenih IP adresa, pa jedan ukradeni ključ nije dovoljan za pristup.Pročitajte više o projektu →BlogUpload direktno na S3 s potpisanim URL-om, umjesto preko backendaPotpisani linkovi za upload ograničeni na jedan objekat i jednu metodu, s rokom isteka u minutama i lifecycle pravilom koje čisti fajlove na koje više ništa ne upućuje.Pročitajte tekst →
Česta pitanja
Pitanja o ovoj usluzi
Jednu sedmicu od dana kad dobijemo pristup projektu i repozitoriju. Prva dva dana idu na popis, a ostatak sedmice na provjere, ulogu po ulogu.
Pristup Supabase projektu i repozitoriju, samo za čitanje. Produkcijski podaci nisu potrebni jer politike provjeravamo na testnim redovima.
Nije. Ova procjena obuhvata samo pristup podacima i traje sedmicu. Ako želite znati i šta je hitno, šta je skupo i šta treba prepisati u cijeloj aplikaciji, za to je dvosedmična procjena i spašavanje aplikacije.
Ako nađemo procurjeli service_role ključ ili politiku koja otkriva tuđe redove, javljamo vam isti dan, ne čekajući da dokument bude gotov. Popravku radimo izvan procjene i obračunavamo je po satu.
Sljedeći korak
Opišite problem i javit ćemo vam se s tri opcije.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.