Што е безбедност на ниво на ред?
Безбедноста на ниво на ред (RLS) е функција на базата што одлучува, ред по ред, кои записи секој корисник смее да ги чита или менува, така што клиентот ги гледа само своите нарачки дури и ако апликацијата побара повеќе.
Без неа, правилото „корисниците ги гледаат само своите податоци“ живее во кодот на апликацијата. Ако еден екран или еден API заборави да провери, приватните податоци може да процурат.
Со безбедност на ниво на ред, правилото живее во самата база. Напишете политика, како „редот во нарачките е видлив само кога customer_id се совпаѓа со најавениот корисник“, а базата ја применува на секое барање.
Postgres ја поддржува безбедноста на ниво на ред, а некои бекенд услуги во голема мера се потпираат на неа, бидејќи нивните апликации ја повикуваат базата директно од прелистувачот. Во такви поставки, табела без политика може да ја чита секој.
RLS е еден слој заштита, а не единствен. Апликациите сè уште имаат потреба од правилна најава, проверки на серверот и внимателно ракување со административниот пристап.
Примери
- Клиентите во порталот ги гледаат само своите документи
- Секој тим во алатката ги гледа само своите проекти
Прашања
Дали ми треба безбедност на ниво на ред?
Ако вашата апликација чува приватни податоци за многу корисници и некој дел од неа ја пребарува базата директно од прелистувачот, да. Ако сиот пристап минува низ бекенд што ги проверува дозволите, RLS е дополнителна безбедносна мрежа.
Дали безбедноста на ниво на ред е исто што и улогите?
Не. Улогите опишуваат каков корисник е некој, на пример администратор или член. Безбедноста на ниво на ред користи факти како идентификаторот на корисникот или улогата за да одлучи до кои конкретни редови може да пристапи.
Видете и
- Како да додадете контрола на пристап според улоги
- Список за проверка на безбедноста за AI-изградени апликации
Mythex · Pricing · Градете што било со AI · Шаблони за веб-страници и апликации · Mythex во споредба · Речник за градење апликации со AI · Бесплатни алатки за градење апликации со AI · English