Çfarë është row-level security?
Row-level security (RLS) është një veçori e bazës së të dhënave që vendos, rresht për rresht, cilat regjistrime lejohet të lexojë ose ndryshojë secili përdorues, kështu që një klient shikon vetëm porositë e veta edhe nëse aplikacioni kërkon më shumë.
Pa të, rregulli “përdoruesit shohin vetëm të dhënat e tyre” jeton në kodin e aplikacionit. Nëse një ekran ose një API harron ta kontrollojë, të dhëna private mund të rrjedhin.
Me row-level security, rregulli jeton vetë në bazën e të dhënave. Shkruan një politikë si “një rresht në orders është i dukshëm vetëm kur customer_id e tij përputhet me përdoruesin e kyçur”, dhe baza e zbaton atë në çdo kërkesë.
Postgres mbështet row-level security, dhe disa shërbime backend mbështeten shumë në të meqenëse aplikacionet e tyre komunikojnë me bazën e të dhënave drejtpërdrejt nga shfletuesi. Në këto konfigurime, një tabelë pa politikë mund të jetë e lexueshme nga kushdo.
RLS është një shtresë mbrojtjeje, jo e vetmja. Aplikacionet akoma kanë nevojë për hyrje të duhur, kontrolle në server dhe trajtim të kujdesshëm të qasjes së adminit.
Shembuj
- Klientët në një portal shohin vetëm dokumentet e tyre
- Çdo ekip në një mjet shikon vetëm projektet e veta
Pyetje
A më duhet row-level security?
Nëse aplikacioni yt ruan të dhëna private për shumë përdorues dhe një pjesë e tij kërkon bazën e të dhënave drejtpërdrejt nga shfletuesi, po. Nëse e gjithë qasja kalon nga një backend që kontrollon lejet, RLS është një rrjetë shtesë sigurie.
A është row-level security e njëjtë me rolet?
Jo. Rolet përshkruajnë çfarë lloj përdoruesi është dikush, si admin ose anëtar. Row-level security përdor fakte si id-ja ose roli i përdoruesit për të vendosur cilat rreshta specifike mund të arrijë.
Shiko edhe
- Si të shtosh kontroll qasjeje të bazuar në role
- Listë kontrolli sigurie për aplikacionet e ndërtuara me AI
Mythex · Pricing · Ndërtoni çdo gjë me AI · Shablone faqesh dhe aplikacionesh · Mythex në krahasim · Fjalori i ndërtimit të aplikacioneve me AI · Mjete falas për ndërtimin e aplikacioneve me AI · English