Rollenbasierte Zugriffskontrolle in NoSQL

Eine der häufigsten Methoden der Daten in NoSQL Sicherung ist jeden Datensatz (oder ein Dokument oder ein Diagramm, auf dem Datenbanktyp abhängig) zuweisen mit einem Satz von Berechtigungen für Rollen verknüpft. Dies ist eine rollenbasierte Zugriffskontrolle oder RBAC kurz.

Betrachten wir eine Pressemitteilung für eine Website, die in einem Dokument (Aggregat) NoSQL-Datenbank gespeichert wird. Der Editor Rolle für das Dokument haben Update-Berechtigungen können, während eine öffentliche Rolle nur Leseberechtigung haben.

Dieser Anwendungsfall erfordert die Zuordnung Rolle Berechtigungen, nicht Benutzer Berechtigungen. Benutzer können eine oder mehrere Rollen zugewiesen werden. So erben Benutzer auf die Summe ihrer Rollen basierte Berechtigungen.

Nachdem eine Rolle zu schaffen, um einem Benutzer die Berechtigung zu geben, um eine bestimmte Funktion ausführen können wie zusätzliche Arbeit erscheinen, aber dieser Ansatz ist sehr nützlich. Betrachten Sie einen Benutzer, der in eine andere Abteilung bewegt oder die Blätter vollständig.

Sie wollen nicht manuell erwähnen für jedes Dokument, dessen Berechtigungen diesen Benutzer zu suchen haben und oder zu ändern entfernen. Statt nur, dass Rollenzuweisungen des Benutzers in einem einzigen Vorgang ändern. Mit der rollenbasierten Zugriffskontrolle (RBAC) ist viel einfacher für lange # 8208 fristige Wartung von Sicherheitsberechtigungen.

Beobachten Sie, wie Datenbanken Berechtigungen und Rollenvererbung behandeln. Betrachten Konsortialbanken in einer Versicherungsgesellschaft, wo Auszubildende sein können, Junior und Senior Konsortialbanken, die jeweils mit Zugang zu den verschiedenen Arten von Informationen zu erhöhen.

Sie könnten der Junior Konsortialbanken die Berechtigungen zuweisen die Auszubildenden zugeordnet sind, plus ein paar mehr. Dann könnten Sie die ganze Junior Konsortialbanken Berechtigungen Senior Konsortialbanken zuweisen, plus ein paar mehr, wieder. Wenn Sie zusätzliche Berechtigungen für alle diese Rollen hinzugefügt werden soll, obwohl, müssen Sie drei identische Änderungen vornehmen.

Wenn Sie fünf Ebenen der Rollen haben, ist, dass fünf Exemplare. Außerdem wird jedes System eine Vielzahl von Rollen wie diese haben. Es gibt einen besseren Weg, um die gleiche banale Aufgabe über als Durchführung und immer wieder: Die Rolle Vererbung.

Einige Systeme umfassen Rollenvererbung. In diesem Fall übernimmt die JuniorUnderwriter Rolle aus der TraineeUnderwriter Rolle, und die SeniorUnderwriter Rolle erbt von der JuniorUnderwiter Rolle. Alles was Sie jetzt tun müssen, um eine Genehmigung für alle Rollen hinzuzufügen, ist es hinzuzufügen, um nur die TraineeUnderwriter Rolle (die unterste Ebene der Vererbung), und alle Rollen die Berechtigung erben. Rolle Vererbung ist viel leichter zu verstehen und zu warten.

Rollengenehmigungslogik wird mit ODER-Logik im Allgemeinen umgesetzt. Das heißt, wenn Sie drei Rollen zuweisen - RoleA, roleb und ROLEC - zu einem Datensatz mit einer Leseberechtigung hat ein Benutzer diese Berechtigung, wenn er RoleA ODER roleb, OR ROLEC. Wenn Sie keine Rolle Leseberechtigungen zu einem Datensatz zugeordnet werden, dann hat keine Benutzerberechtigungen zu diesem Datensatz lesen (Vererbung beiseite, natürlich).

Menü