Acasă Finanțe personale Controlul accesului bazat pe atribute (ABAC) în noSQL <[SET:descriptionro]Un program util pentru securitate este

Controlul accesului bazat pe atribute (ABAC) în noSQL <[SET:descriptionro]Un program util pentru securitate este

Video: 10-Year Anniversary Celebration | Riot Pls: 10th Anniversary Edition - League of Legends 2024

Video: 10-Year Anniversary Celebration | Riot Pls: 10th Anniversary Edition - League of Legends 2024
Anonim

Un model util pentru securitate este să se aplice permisiunile bazate pe date într-o înregistrare, mai degrabă decât să se atribuie separat permisiunilor înregistrate. Aceasta ar putea fi bazată fie pe metadate, fie pe coloane individuale (clone Bigtable), fie pe elemente (baze de date Aggregate NoSQL).

Un exemplu bun este faptul că un nume de client este menționat într-un document. Poate doriți să restricționați accesul la toate documentele care menționează acel client doar pentru persoanele care au acces la informațiile acestui client. Puteți restricționa accesul la aceste documente procesând datele din document și aplicând permisiunile de securitate relevante pe baza valorii acelor date.

Nu există baze de date NoSQL care să ofere această capacitate direct din cutie. Aceasta deoarece permisiunile trebuie să fie atribuite înregistrării după ce datele sunt salvate de către aplicație, dar înainte de a fi disponibile pentru recuperare de către alte aplicații sau utilizatori. Deci, această atribuire a permisiunii trebuie să aibă loc în limita tranzacției.

De asemenea, foarte puține baze de date NoSQL acceptă tranzacțiile care respectă ACID (MarkLogic, FoundationDB și Neo4j, de exemplu). Dacă o bază de date nu acceptă acordarea de permisiuni în afara casetei pe baza datelor dintr-un document, dar nu suportă tranzacțiile ACID și declanșatoarele de pre-comitere, este posibilă o soluție ușoară.

Este, în general, ușor de scris un declanșator care verifică prezența unei valori într-o înregistrare și modificarea permisiunilor pe baza valorii acesteia. Atâta timp cât o bază de date acceptă acest lucru în timpul procesului de comitere, și nu după comiterea, atunci știți că datele dvs. sunt securizate utilizând un simplu declanșator de pre-comitere.

De exemplu, MarkLogic Server suportă tranzacții ACID pe bază de serializabilitate și declanșatoare de pre-comitere. În continuare este un document XML simplu pe care vreau să îl suport pentru controlul accesului bazat pe atribute:

Declanșatorii MarkLogic Server folosesc limbajul XQuery W3C. Următorul exemplu XQuery este un declanșator simplu care, atunci când este instalat în MarkLogic, atribuie permisiuni de citire și scriere:

versiunea xquery "1. 0-ml"; spațiul de nume al modulelor de import trgr = ' // marklogic. com / xdmp / declanșează 'la' / MarkLogic / declanșează. xqy "; declara variabila $ trgr: uri ca xs: string extern; declara variabila $ trgr: trigger ca nod () extern; ($ trgr-uri, (xdmp: permission ("seniorsales", "update"), xdmp: " permisiune ("vânzări", "citire"))) else ()

Odată ce declanșatorul este instalat în setpermsul fișierului.xqy într-o bază de date a modulelor serverului MarkLogic, executați următorul cod în aplicația de codificare web pentru MarkLogic - Query Console pentru a activa declanșatorul. Într-o instalare implicită MarkLogic Server, puteți găsi Consola de interogare la adresa URL: // localhost: 8000 / qconsole.

Iată un cod care arată modul de instalare a declanșatorului utilizând Consola de interogare:

versiunea xquery "1. 0-ml"; Domeniul de nume de module de import trgr = " // marklogic. com / xdmp / declanșează" la "/ MarkLogic / declanșează. xqy "; trgr: create-trigger ("setperms", "Set Permisiuni pentru Documente de Vânzare", trgr: trigger-data-event (trgr: collection-scope -fm: true (), xdmp: default-permissions (), fn: true (), trg: false ())

Controlul accesului bazat pe atribute (ABAC) în noSQL <[SET:descriptionro]Un program util pentru securitate este

Alegerea editorilor

Evaluarea Vizualizărilor de date - dummies

Evaluarea Vizualizărilor de date - dummies

Vizualizările de date pot fi foarte colorate și impresionante. Dar amintiți-vă că cheia pentru crearea unor vizualizări eficiente de date nu depinde de faptul dacă este interesantă, ci mai degrabă de faptul dacă descoperă problemele reale de afaceri care trebuie abordate. O foaie de lucru vă ajută să creați propriile vizualizări de date sau să evaluați creațiile altora. Aici ...

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Să lucreze mai bine decât celălalt. În timp, veți dezvolta un sentiment dacă Illustrator sau Photoshop se potrivesc mai bine pentru diverse sarcini. Până atunci, iată un exemplu despre modul în care fiecare program gestionează diferite elemente ale lucrării de design grafic. Graphing Photoshop nu este un program de grafic. Tu ...

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografics evergreen nu sunt legate de niciun eveniment sau persoană în știri . Ele nu au o componentă sezonieră și nu sunt legate de ceva în timp util. O infographic despre cum se fac CD-urile se va aplica pentru că este vorba de muzică, dar nu este specifică nici unui artist sau gen. Cu infografiile veșnic verzi, ignorați complet evenimentele curente și explorați ideile ...

Alegerea editorilor

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Adobe Creative Suite 5 oferă scurtături pentru Zooming în Photoshop. Imaginile care arată bine la un nivel de zoom pot părea extrem de proaste la altul. Veți mări și micșora destul de des în timp ce lucrați la imagini în Photoshop. Puteți găsi opțiuni de meniu pentru zoom în meniul Vizualizare; o modalitate mai rapidă de a mări este ...

Text în Photoshop CC - dummies

Text în Photoshop CC - dummies

Când editați o imagine cu text în Photoshop CC, puteți schimba linia care fluxul dvs. de tip fie folosind funcția Warp Text sau tastând pe o cale. Tipul de deformare utilizează forme predefinite la care se formează tipul dvs. (și poate fi utilizat atât cu tipul de punct, cât și cu paragraful) și tastând ...

Alegerea editorilor

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cea mai mare parte a bibliotecii Boost funcționează bine adăugând la codul aplicației. Cu toate acestea, câteva componente, cum ar fi RegEx, necesită o bibliotecă. Înainte de a putea folosi o bibliotecă, trebuie să o construiți. După ce ați construit biblioteca, trebuie să o adăugați în aplicație. Există două tehnici de adăugare a ...

Cum Heap Works în C ++ - dummies

Cum Heap Works în C ++ - dummies

Halda este un bloc amorf de memorie pe care programul C ++ îl poate accesa după cum este necesar. Aflați de ce există și cum se utilizează. Așa cum este posibil să treci un pointer la o funcție, este posibil ca o funcție să returneze un pointer. O funcție care returnează adresa ...

Cum să evitați codul de injectare în C ++ - dummies

Cum să evitați codul de injectare în C ++ - dummies

Prima regulă de evitare a codului injectat în programele C ++ , permiterea prelucrării datelor de către un interpret de limbă cu scop general. O eroare obișnuită cu SQL-injectarea este că programul acceptă intrarea utilizatorului ca și cum ar fi fost întotdeauna acceptabilă și îl inserează într-o interogare SQL pe care o trimite apoi la ...