Contrôle d'accès basé sur les rôles dans nosql

Une des méthodes les plus courantes de la sécurisation des données dans NoSQL est d'attribuer à chaque enregistrement (ou d'un document ou d'un graphique, en fonction de votre type de base de données) avec un ensemble d'autorisations liées à des rôles. Ceci est le contrôle d'accès basé sur les rôles, ou RBAC pour faire court.

Considérons un communiqué de nouvelles pour un site Web qui est stocké dans une base de données (global) NoSQL de document. Le rôle de l'éditeur peut avoir des autorisations de mise à jour pour le document, alors un rôle plus public peut avoir seulement lu des autorisations.

Ce cas d'utilisation nécessite l'affectation rôle permissions, pas utilisateur autorisations. Les utilisateurs peuvent être affectés à un ou plusieurs rôles. Ainsi, les utilisateurs héritent des autorisations sur la base de la somme de leurs rôles.




Avoir à créer un rôle pour donner une autorisation de l'utilisateur à exécuter une fonction particulière peut sembler travail supplémentaire, mais cette approche est très utile. Considérons un utilisateur qui se déplace vers un autre ministère ou qui quitte entièrement.

Vous ne voulez pas avoir à regarder manuellement pour chaque document dont les autorisations mentionner cet utilisateur et modifier ou les supprimer. Au lieu de simplement changez le rôle de cet utilisateur en une seule opération. Utiliser le contrôle d'accès basé sur les rôles (RBAC) est beaucoup plus facile pour l'entretien à long # 8208 terme d'autorisations de sécurité.

Regardez comment gérer des bases de données et les autorisations rôle héritage. Envisager des preneurs fermes dans une compagnie d'assurance, où il peut y avoir stagiaire, junior, et les preneurs fermes supérieurs, chacun avec l'augmentation de l'accès à différents types d'informations.

Vous pouvez assigner les preneurs fermes juniors les autorisations les stagiaires sont affectés, plus quelques autres. Ensuite, vous pouvez attribuer les autorisations de tous les preneurs fermes juniors aux preneurs fermes supérieurs, plus quelques autres, encore une fois. Si vous voulez ajouter des autorisations supplémentaires pour tous ces rôles, cependant, vous devez faire trois changements identiques.

Si vous disposez de cinq niveaux de rôles, qui est cinq exemplaires. En outre, chaque système aura une multitude de rôles comme ceux-ci. Il ya une meilleure façon que d'effectuer la même tâche banale, encore et encore: Rôle héritage.

Certains systèmes comprennent rôle héritage. Dans ce cas, le rôle de JuniorUnderwriter hérite du rôle de TraineeUnderwriter, et le rôle SeniorUnderwriter hérite de le rôle de JuniorUnderwiter. Maintenant, tout ce que vous devez faire pour ajouter une autorisation à tous les rôles est pour l'ajouter à seulement le rôle de TraineeUnderwriter (le niveau le plus bas de l'héritage), et tous les rôles hériteront la permission. Rôle héritage est beaucoup plus facile à comprendre et à maintenir.

La logique de l'autorisation de rôle est généralement mis en œuvre avec la logique OR. Autrement dit, si vous affectez trois rôles - Rolea, RoleB et ROLEC - à un record avec une autorisation de lecture, un utilisateur dispose de cette autorisation si il a Rolea OU RoleB, OU ROLEC. Si vous ne attribuer des autorisations rôle de lecture à un niveau record, aucun utilisateur a lu les autorisations sur ce dossier (héritage de côté, bien sûr).


» » » » Contrôle d'accès basé sur les rôles dans nosql