Βίντεο: Αυτογνωσία - Η Αγγελική Αναγνώστου στον EoellasRadio 8η εκπομπή 2024
Μία από τις πιο κοινές μεθόδους για την εξασφάλιση δεδομένων στο NoSQL είναι να αντιστοιχίσετε κάθε εγγραφή (ή έγγραφο ή γράφημα, ανάλογα με τον τύπο της βάσης δεδομένων σας) με ένα σύνολο δικαιωμάτων που σχετίζονται με ρόλους. Αυτός είναι ο έλεγχος πρόσβασης βασισμένος σε ρόλους ή ο RBAC για σύντομο χρονικό διάστημα.
Εξετάστε ένα ενημερωτικό δελτίο για έναν ιστότοπο που αποθηκεύεται σε μια βάση δεδομένων (συσσωρευμένη) NoSQL. Ο ρόλος του προγράμματος επεξεργασίας μπορεί να έχει δικαιώματα ενημέρωσης για το έγγραφο, ενώ ένας δημόσιος ρόλος μπορεί να έχει μόνο δικαιώματα ανάγνωσης.
Αυτή η περίπτωση χρήσης απαιτεί δικαιώματα δικαιώματα και όχι δικαιώματα χρήστη . Οι χρήστες μπορούν να αντιστοιχιστούν σε έναν ή περισσότερους ρόλους. Έτσι, οι χρήστες κληρονομούν δικαιώματα βάσει του αθροίσματος των ρόλων τους.
Η δημιουργία ενός ρόλου προκειμένου να δοθεί στον χρήστη άδεια να εκτελέσει μια συγκεκριμένη λειτουργία μπορεί να φαίνεται σαν επιπλέον εργασία, αλλά αυτή η προσέγγιση είναι πολύ χρήσιμη. Εξετάστε ένα χρήστη που μετακινείται σε άλλο τμήμα ή που αφήνει εξ ολοκλήρου.
Δεν θέλετε να ψάξετε χειροκίνητα για κάθε έγγραφο του οποίου οι άδειες αναφέρουν αυτόν τον χρήστη και αλλάζουν ή καταργούν. Αντ 'αυτού απλά αλλάξτε τις αναθέσεις ρόλων αυτού του χρήστη σε μία μόνο λειτουργία. Η χρήση του ελέγχου πρόσβασης βάσει ρόλων (RBAC) είναι πολύ πιο εύκολη για τη μακροπρόθεσμη διατήρηση των δικαιωμάτων ασφαλείας.
Παρακολουθήστε τον τρόπο με τον οποίο οι βάσεις δεδομένων χειρίζονται τα δικαιώματα και την κληρονομικότητα των ρόλων. Εξετάστε τους ασφαλιστές σε μια ασφαλιστική εταιρεία, όπου μπορεί να υπάρχουν υποψήφιοι ασκούμενοι, κατώτεροι και ανώτεροι ασφαλιστές, ο καθένας με αυξανόμενη πρόσβαση σε διαφορετικά είδη πληροφοριών.
Θα μπορούσατε να αναθέσετε στους κατώτερους αναδόχους τις άδειες που έχουν εκχωρηθεί στους εκπαιδευόμενους, καθώς και μερικές ακόμα. Τότε θα μπορούσατε να εκχωρήσετε όλες τις άδειες των κατώτερων αναδοχών σε ανώτερους αναδόχους, καθώς και μερικά ακόμα, και πάλι. Αν θέλετε να προσθέσετε πρόσθετα δικαιώματα σε όλους αυτούς τους ρόλους, ωστόσο, πρέπει να κάνετε τρεις ίδιες αλλαγές.
Αν έχετε πέντε επίπεδα ρόλων, αυτό είναι πέντε αντίγραφα. Επίσης, κάθε σύστημα θα έχει πολλούς ρόλους όπως αυτούς. Υπάρχει ένας καλύτερος τρόπος από την εκτέλεση της ίδιας κοσμικής εργασίας ξανά και ξανά: Η κληρονομιά ρόλων.
Ορισμένα συστήματα περιλαμβάνουν κληρονομικότητα. Στην περίπτωση αυτή, ο ρόλος του JuniorUnderwriter κληρονομείται από τον ρόλο του TraineeUnderwriter και ο ρόλος του SeniorUnderwriter κληρονομείται από τον ρόλο του JuniorUnderwiter. Τώρα το μόνο που χρειάζεται να κάνετε για να προσθέσετε δικαιώματα σε όλους τους ρόλους είναι να το προσθέσετε μόνο στον ρόλο του TraineeUnderwriter (το χαμηλότερο επίπεδο κληρονομικότητας) και όλοι οι ρόλοι θα κληρονομήσουν την άδεια. Η κληρονομιά του ρόλου είναι πολύ πιο εύκολη στην κατανόηση και διατήρηση.
Η λογική της άδειας ρόλου γενικά εφαρμόζεται με λογική OR. Δηλαδή, αν αναθέσετε τρεις ρόλους - RoleA, RoleB και RoleC - σε μια εγγραφή με άδεια ανάγνωσης, ο χρήστης έχει αυτήν την άδεια αν έχει RoleA OR RoleB, OR RoleC.Αν δεν εκχωρήσετε δικαιώματα ανάγνωσης ρόλων σε μια εγγραφή, τότε κανένας χρήστης δεν έχει δικαιώματα ανάγνωσης για αυτό το αρχείο (βέβαια, κληρονομιά).