Kas yra eilučių lygio saugumas?
Eilučių lygio saugumas (RLS) – tai duomenų bazės funkcija, kuri eilutė po eilutės nusprendžia, kuriuos įrašus kiekvienas vartotojas gali skaityti ar keisti, todėl klientas mato tik savo užsakymus, net jei programa prašo daugiau.
Be jos taisyklė „vartotojai mato tik savo duomenis“ gyvena programos kode. Jei koks nors ekranas ar API pamirš patikrinti, privatūs duomenys gali nutekėti.
Su eilučių lygio saugumu taisyklė gyvena pačioje duomenų bazėje. Parašote politiką, pvz., „eilutė orders matoma tik tada, kai customer_id sutampa su prisijungusiu vartotoju“, o duomenų bazė ją taiko kiekvienai užklausai.
Postgres palaiko eilučių lygio saugumą, o kai kurios backend paslaugos į jį labai remiasi, nes jų programos su duomenų baze bendrauja tiesiai iš naršyklės. Tokiose sistemose lentelė be politikos gali būti skaitoma bet kam.
RLS yra vienas apsaugos sluoksnis, o ne vienintelis. Programėlėms vis tiek reikia tinkamo prisijungimo, patikrinimų serveryje ir atsargaus administratoriaus prieigos tvarkymo.
Pavyzdžiai
- Klientai portale mato tik savo dokumentus
- Kiekviena komanda įrankyje mato tik savo projektus
Klausimai
Ar man reikia eilučių lygio saugumo?
Jei jūsų programėlė saugo privačius duomenis daugeliui vartotojų ir bet kuri dalis užklausia duomenų bazę tiesiai iš naršyklės, taip. Jei visa prieiga eina per backend’ą, kuris tikrina leidimus, RLS yra papildomas saugumo tinklas.
Ar eilučių lygio saugumas yra tas pats kas vaidmenys?
Ne. Vaidmenys nusako, koks vartotojas esate, pvz., administratorius ar narys. Eilučių lygio saugumas naudoja faktus, pvz., vartotojo ID ar vaidmenį, kad nuspręstų, kurias konkrečias eilutes jis gali pasiekti.
Taip pat žiūrėkite
- Kaip pridėti vaidmenimis pagrįstą prieigos valdymą
- Saugumo kontrolinis sąrašas DI sukurtoms programėlėms
Mythex · Pricing · Kurkite bet ką su dirbtiniu intelektu · Svetainių ir programėlių šablonai · Mythex palyginimas · Programėlių kūrimo su dirbtiniu intelektu žodynėlis · Nemokami programėlių kūrimo su dirbtiniu intelektu įrankiai · English