Kas ir rindu līmeņa drošība?
Rindu līmeņa drošība (RLS) ir datubāzes funkcija, kas nosaka, katrā rindā atsevišķi, kurus ierakstus katrs lietotājs drīkst lasīt vai mainīt, tā ka klients redz tikai savus pasūtījumus, pat ja lietotne pieprasa vairāk.
Bez tās noteikums „lietotāji redz tikai savus datus” dzīvo lietotnes kodā. Ja kāds ekrāns vai API aizmirst pārbaudīt, privāti dati var noplūst.
Ar rindu līmeņa drošību noteikums dzīvo pašā datubāzē. Jūs rakstāt politiku, piemēram, „rinda pasūtījumos ir redzama tikai tad, ja tās customer_id sakrīt ar pieteikto lietotāju”, un datubāze to piemēro katram vaicājumam.
Postgres atbalsta rindu līmeņa drošību, un daži aizmugures pakalpojumi uz to lielā mērā paļaujas, jo to lietotnes runā ar datubāzi tieši no pārlūkprogrammas. Šādos iestatījumos tabula bez politikas var būt lasāma ikvienam.
RLS ir viens drošības slānis, nevis vienīgais. Lietotnēm joprojām vajag korektu pieteikšanos, servera puses pārbaudes un rūpīgu administratora piekļuves apstrādi.
Piemēri
- Klienti portālā redz tikai savus dokumentus
- Katra komanda rīkā redz tikai savus projektus
Jautājumi
Vai man vajag rindu līmeņa drošību?
Ja jūsu lietotne glabā privātus datus daudziem lietotājiem un kāda daļa no tās vaicā datubāzi tieši no pārlūkprogrammas, tad jā. Ja visa piekļuve iet caur backend, kas pārbauda atļaujas, RLS ir papildu drošības tīkls.
Vai rindu līmeņa drošība ir tas pats, kas lomas?
Nē. Lomas apraksta, kāda veida lietotājs kāds ir, piemēram, administrators vai dalībnieks. Rindu līmeņa drošība izmanto tādus faktus kā lietotāja id vai loma, lai izlemtu, kurām konkrētām rindām viņš var piekļūt.
Skatiet arī
Mythex · Pricing · Veidojiet jebko ar AI · Tīmekļa vietņu un lietotņu veidnes · Mythex salīdzinājumā · AI lietotņu veidošanas glosārijs · Bezmaksas rīki lietotņu veidošanai ar AI · English