Jeśli jakikolwiek zalogowany użytkownik może odczytywać wiersze innych użytkowników, Twoja baza danych ufa, że aplikacja zachowa się prawidłowo. Przenoszę regułę do samego PostgreSQL za pomocą zasad i ról zabezpieczeń na poziomie wierszy, a następnie udowadniam za pomocą testów, że jeden użytkownik nie może uzyskać dostępu do danych innego użytkownika.
Skonfiguruję zabezpieczenia na poziomie wierszy PostgreSQL, aby każdy użytkownik widział tylko swoje dane, w tym Supabase
Przegląd zabezpieczeń na poziomie wierszy dla maksymalnie 5 tabel, z każdą luką pokazaną za pomocą zapytania.
- Przegląd do 5 tabel
- Raport pisemny
- Przykładowe zapytania
Polityki i role dla maksymalnie 10 tabel, z testami potwierdzającymi, że zasady są przestrzegane.
- Polityki dla maksymalnie 10 tabel
- Raport pisemny
- Przykładowe zapytania
Do 25 tabel, limity planów w bazie danych, migracje i testy w CI.
- Do 25 tabel, limity planu, CI
- Raport pisemny
- Przykładowe zapytania
Poproś o ofertę niestandardową
Zaloguj się, aby poprosić o ofertę niestandardową
Utwórz bezpłatne konto lub zaloguj się, aby poprosić o spersonalizowaną ofertę od tego Zinner.
Zaloguj się / Zarejestruj sięZadaj pytanie przed zakupem
Zaloguj się, aby zadać pytanie
Aby zmniejszyć spam na platformie, wiadomości przed sprzedażą mogą być wysyłane tylko przez zalogowanych użytkowników.
Utwórz bezpłatne konto lub zaloguj się, aby wysłać wiadomość do tego Zinner bezpośrednio.
Zaloguj się / Zarejestruj sięWymagane logowanie
Utwórz bezpłatne konto lub zaloguj się, aby wysłać wiadomość do tego Zinner.
Zaloguj się / Zarejestruj sięWymagane logowanie
Utwórz bezpłatne konto lub zaloguj się, aby poprosić o spersonalizowaną ofertę.
Zaloguj się / Zarejestruj sięAt a Glance
Kluczowe szczegóły dotyczące tej usługi, które pomogą Ci podjąć decyzję. Wygenerowane przez Zinn Hub, a nie przez sprzedawcę.
Pozycja Wartości
Warstwa egzekwowania
Obsługiwane platformy
Dowód pracy
Format dostawy
Co otrzymasz
Pełny opis
Każda aplikacja z kontami użytkowników, płatnymi planami lub kilkoma zespołami w jednej bazie danych musi zdecydować, kto może widzieć które wiersze. Jeśli ta reguła istnieje tylko w kodzie aplikacji, zawodzi za pierwszym razem, gdy ktoś uzyskuje dostęp do danych w inny sposób: nowy punkt końcowy, o którym ktoś zapomniał zabezpieczyć, druga aplikacja na tej samej bazie danych lub API, które Supabase generuje dla Twoich tabel. Zabezpieczenia na poziomie wierszy umieszczają regułę tam, gdzie znajdują się dane.
Zrobiłem to w produkcie subskrypcyjnym objętym umową NDA: polityki bezpieczeństwa na poziomie wierszy w tabelach i oddzielna rola bazy danych dla każdego poziomu subskrypcji, więc to, co obejmuje plan, jest egzekwowane przez PostgreSQL, a nie przez sprawdzenie, o którym ktoś mógłby zapomnieć.
W pakiecie Starter przeglądam polityki, które posiada lub których brakuje maksymalnie pięciu tabelom, i wysyłam pisemną listę luk, z przykładowym zapytaniem, które pokazuje każdą z nich. Pakiet Standard pisze lub naprawia polityki dla maksymalnie dziesięciu tabel, konfiguruje role potrzebne Twojej aplikacji, dostarcza je jako pliki migracji i dodaje testy, w których użytkownik A próbuje odczytać i zmienić wiersze użytkownika B i ponosi porażkę. Pakiet Advanced obejmuje maksymalnie dwadzieścia pięć tabel, dodaje limity planów lub poziomów egzekwowane w bazie danych i uruchamia testy w CI.
W Supabase obowiązują te same funkcje PostgreSQL, z auth.uid() i roszczeniami JWT używanymi w ramach polityk. W czystym PostgreSQL polityki odczytują bieżącego użytkownika z ustawienia sesji, które Twój backend ustawia dla każdego żądania.
Brak połączeń. Każdy pakiet kończy się prostą notatką o tym, kto co może zobaczyć; w pakietach Standard i Advanced polityki są również dostarczane jako migracje do Twojego repozytorium, wraz z testami. Przez 14 dni po dostarczeniu naprawiam wszystko, co nie działa zgodnie z naszymi ustaleniami, bezpłatnie.
Kroki do ukończenia Twojego projektu
1. Mapowanie danych – Wymieniam tabele, kto jest właścicielem każdego wiersza i kto powinien go odczytywać lub zmieniać: właściciele, członkowie zespołu, administratorzy, każdy plan.
2. Przegląd istniejących elementów – Bieżące polityki, uprawnienia i role są sprawdzane pod kątem tej mapy, a każda luka jest zapisywana wraz z zapytaniem, które ją pokazuje.
3. Polityki i role – Polityki są pisane dla każdej tabeli i dla każdej akcji, z rolami dla planów lub zespołów, jako pliki migracji, które możesz przejrzeć.
4. Udowodnij to – Testy logują się jako różni użytkownicy i próbują odczytywać i zmieniać dane innych użytkowników. Każda zabroniona akcja musi zakończyć się niepowodzeniem, a każda dozwolona musi działać.
5. Przekazanie – Krótka notatka w prostych słowach o tym, kto co może zobaczyć, migracje i jak dodać politykę, gdy pojawi się nowa tabela.
Gwarancja Jakości Zinner
Każdy Zinner jest sprawdzany i zatwierdzany przed dołączeniem do platformy.
Wszystkie usługi są objęte naszym zobowiązaniem do zapewnienia jakości.
Twoja płatność jest chroniona do momentu zatwierdzenia dostarczonej pracy.
Porównaj Pakiety
| Funkcja | Starter | Standard | Zaawansowane |
|---|---|---|---|
| Czas dostawy | 2 dni | 5 dni | 10 dni |
| Poprawki | 1 | 2 | 3 |
| Zakres | Przegląd do 5 tabel | Polityki dla maksymalnie 10 tabel | Do 25 tabel, limity planów, CI |
| Raport pisemny | ✓ | ✓ | ✓ |
| Przykładowe zapytania | ✓ | ✓ | ✓ |
Szczegóły usługi
Często zadawane pytania
Sprawdzenia aplikacji chronią ścieżki, które pamiętasz. Zabezpieczenia na poziomie wierszy obejmują każde zapytanie, które działa w ramach ról bazy danych Twojej aplikacji, w tym punkty końcowe dodane później i bezpośrednie wywołania API Supabase. Superużytkownik, właściciele tabel i klucz usługi Supabase omijają je z założenia, dlatego te poświadczenia pozostają na serwerze. Większość zespołów utrzymuje oba rodzaje sprawdzeń.
Może, jeśli polityka wywołuje wolną funkcję lub brakuje jej indeksu. Piszę polityki z myślą o tym, a przegląd wymienia każdą politykę, która wymaga indeksu.
Nie. Schemat bez danych wystarczy do napisania i przetestowania polityk. Testy są uruchamiane na danych początkowych, które tworzę.
Nie. Zabezpieczenia na poziomie wierszy w tej formie to funkcja PostgreSQL, a ta usługa jest zbudowana wokół PostgreSQL.
Opinie klientów
Sprawdź, co nasi klienci mówią o tym Zinn
Kategorie
Polityka Zinner
Powiązane Zinns

zbuduj lub napraw MVP SaaS AI, stronę internetową lub aplikację internetową z uroczym AI, kursorem, supabase

tworzenie niestandardowego rozwoju stron internetowych z platformą AI v0, lovable, bolt, replit

Naprawię jedną uszkodzoną rzecz w Twojej aplikacji Lovable lub dokończę małą aplikację, aby była gotowa do uruchomienia




