Control de acceso basado en roles en nosql

Video: 8 CodeIgniter CMS - Listas de control de acceso (ACL)

Uno de los métodos más comunes de seguridad de los datos en NoSQL es asignar a cada registro (o documento o gráfica, dependiendo del tipo de base de datos) con un conjunto de permisos vinculados a roles. Este es el control de acceso basado en roles, o RBAC para abreviar.

Considere un comunicado de prensa de una página web que se almacena en un documento de base de datos (agregado) NoSQL. El rol de editor puede tener permisos de actualización para el documento, mientras que un papel más público puede tener permisos de sólo lectura.

Este caso de uso requiere la asignación papel permisos, no usuario permisos. Los usuarios pueden ser asignados a una o más funciones. De este modo, los usuarios heredan los permisos en base a la suma de sus funciones.

Tener que crear un papel con el fin de dar a un usuario permiso para realizar una función particular que puede parecer como un trabajo extra, pero este método es muy útil. Considere un usuario que se traslada a otro departamento o que abandona por completo.

Usted no quiere tener que buscar manualmente para cada documento cuyos permisos mencionar este usuario y cambiar o eliminarlos. En su lugar sólo cambiar las asignaciones de funciones de ese usuario en una sola operación. Usando el control de acceso basado en roles (RBAC) es mucho más fácil para el mantenimiento a largo plazo de los permisos de seguridad.

Mira cómo manejar bases de datos de permisos y la herencia papel. Considere los suscriptores en una compañía de seguros, en los que puede ser aprendiz, menor, y los suscriptores de alto nivel, cada uno con un mayor acceso a los diferentes tipos de información.

Podría asignar a los suscriptores minoritarios de los permisos se asignan a los alumnos, además de unos cuantos más. Posteriormente, se podría asignar permisos a todos los suscriptores menores a los suscriptores de alto nivel, además de unos cuantos más, otra vez. Si desea agregar permisos adicionales para todas estas funciones, sin embargo, usted tiene que hacer tres cambios idénticos.

Video: Roles y Permisos

Si usted tiene cinco niveles de papeles, que es cinco copias. Además, cada sistema tendrá una multitud de papeles como estos. Hay una manera mejor que realizar la misma tarea mundana una y otra vez: la herencia de funciones.

Algunos sistemas incluyen la herencia papel. En este caso, el papel JuniorUnderwriter hereda de la función TraineeUnderwriter, y el papel SeniorUnderwriter hereda de la función JuniorUnderwiter. Ahora todo lo que necesita hacer para añadir un permiso para todas las funciones es para añadirlo a sólo el papel TraineeUnderwriter (el nivel más bajo de la herencia), y todos los papeles heredarán el permiso. herencia papel es mucho más fácil de entender y mantener.

lógica permiso papel se desempeña en general, con la lógica OR. Es decir, si asigna tres funciones - RoleA, RoleB y ROLEC - a un registro con un permiso de lectura, un usuario tiene este permiso si tiene RoleA O RoleB, O ROLEC. Si no se asigna permisos papel de lectura de un registro, entonces no hay ningún usuario tiene permisos de lectura en ese disco (herencia de lado, por supuesto).

Artículos Relacionados