Video: 5 Secrete pentru a Calma Mintea 2024
Una dintre metodele cele mai comune de securizare a datelor în NoSQL este de a atribui fiecare înregistrare (sau document sau grafic, în funcție de tipul bazei de date) cu un set de permisiuni legate de roluri. Acesta este un control al accesului bazat pe roluri sau RBAC pe scurt.
Luați în considerare un comunicat de presă pentru un site web care este stocat într-o bază de date (agregată) de documente NoSQL. Rolul editorului poate avea permisiuni de actualizare pentru document, în timp ce un rol mai public poate avea doar permisiuni de citire.
Acest caz de utilizare necesită acordarea de permisiuni de rolu , nu de permisiuni utilizator . Utilizatorii pot fi alocați pentru unul sau mai multe roluri. Astfel, utilizatorii moștenesc permisiuni bazate pe suma rolurilor lor.
Necesitatea de a crea un rol pentru a acorda utilizatorilor permisiunea de a efectua o anumită funcție poate părea o muncă suplimentară, însă această abordare este foarte utilă. Luați în considerare un utilizator care se mută în alt departament sau care pleacă în întregime.
Nu doriți să vă uitați manual pentru fiecare document ale cărui permisiuni menționează acest utilizator și modificați sau eliminați-l. În schimb, trebuie doar să schimbați asignările rolurilor utilizatorului într-o singură operație. Utilizarea controlului accesului pe bază de roluri (RBAC) este mult mai facilă pentru întreținerea pe termen lung a permisiunilor de securitate.
Urmăriți modul în care bazele de date gestionează permisiunile și moștenirea rolului. Luați în considerare asigurătorii într-o societate de asigurări, unde pot fi participanți la cursuri, juniori și senior, fiecare având un acces sporit la diferite tipuri de informații.
Aveți posibilitatea să alocați subscriitorilor juniori permisiunile pe care le-au atribuit cursanții, plus câteva altele. Apoi, ați putea aloca toate permisiunile de subscriere a juniorilor către susținătorii de rang înalt, plus câțiva dintre ei, din nou. Dacă doriți să adăugați permisiuni suplimentare pentru toate aceste roluri, trebuie să efectuați trei modificări identice.
Dacă aveți cinci nivele de roluri, sunt cinci exemplare. De asemenea, fiecare sistem va avea o multitudine de roluri ca acestea. Există o modalitate mai bună de a îndeplini aceeași sarcină banală de mai multe ori: moștenirea rolului.
Unele sisteme includ moștenirea rolului. În acest caz, rolul JuniorUnderwriter moștenește din rolul TraineeUnderwriter, iar rolul SeniorUnderwriter moștenește din rolul JuniorUnderwiter. Acum, tot ce trebuie să faceți pentru a adăuga o permisiune pentru toate rolurile este să-l adăugați doar rolului TraineeUnderwriter (cel mai mic nivel de moștenire) și toate rolurile vor moșteni permisiunea. Mărirea succesiunii este mult mai ușor de înțeles și de menținut.
Logica de permisiune a rolurilor este în general implementată cu logica OR. Adică, dacă atribuiți trei roluri - RoleA, RoleB și RoleC - unei înregistrări cu permisiune de citire, un utilizator are această permisiune dacă are RoleA OR RoleB, OR RoleC.Dacă nu atribuiți permisiunile de citire a rolurilor unei înregistrări, atunci niciun utilizator nu a permis să citească permisiunea pentru acea înregistrare (deopotrivă moștenirea).