Implementar RBAC para mi aplicación

3

Estoy empezando a trabajar en una nueva aplicación web para la que necesito implementar el control de acceso basado en roles.

He identificado tres Roles para mi aplicación, que serán Role 1, Role 2 y Role 3. Cada usuario estará en uno de estos grupos o también puede estar en varios grupos.

Al ir más allá, cada función tiene 2 funcionalidades asociadas, por ejemplo (D1, D2), (T1, T2) y (A1, A2) respectivamente.

La implementación del control de acceso hasta este punto me parece bastante sencilla.

Sin embargo, hay más desgloses para cada función en función de, por ejemplo, ubicaciones geográficas y otra categoría llamada Cuentas (S1, S2 y S3). Por ejemplo, un usuario de la Función 1 tendrá acceso a D1 y D2, pero debería tener acceso solo a los datos de Norteamérica y las Cuentas S1 y S2, pero no a S3.

Este es el lugar donde estoy en un callejón sin salida. No puedo colocar estas subcategorías en mis permisos de control de acceso porque las permutaciones serían enormes.

Cualquier sugerencia para implementar esto sería de gran ayuda.

    
pregunta Yash Kapila 06.06.2016 - 03:34
fuente

3 respuestas

1

Puedo sugerir las siguientes opciones según la información proporcionada:

  1. Defina dominio de datos (Norteamérica, Europa, etc.) según sus criterios y otorgue roles dentro de ese dominio únicamente. Por ejemplo, otorgue el rol 1 dentro del dominio de datos A o la cuenta S1. Bastante simple, pero depende de su estructura de datos.
  2. Agregue condiciones adicionales en el estilo de ABAC , es decir, otorgue o deniegue el acceso a una función específica en caso de que algunas condiciones son verdaderas (p. ej., si el usuario tiene permitido Regiones = región de recursos actuales) Este enfoque agrega complejidad a la solución y su matriz de seguridad, pero las políticas de ABAC son muy poderosas y pueden cubrir una variedad de casos.
respondido por el Salamander 07.06.2016 - 14:36
fuente
0

Este es un problema común para los proveedores de soluciones globales.

Las cuentas y las regiones geográficas no son más "desgloses" en el contexto de los permisos y RBAC, sino que constituyen áreas más amplias de gobierno dentro de las cuales los esquemas RBAC surten efecto.

Las cuentas y las regiones geográficas son más importantes que los roles / capacidades específicos en cualquier aplicación específica. Las cuentas a menudo implican una relación de custodia, cuya violación puede someter a la empresa a juicios o multas, y las reglas de acceso en las que pueden ser distintivas y diferenciadas de forma única de aquellas en otras cuentas.

De manera similar, las regiones geográficas implican diferentes regímenes legales, con reglas especiales a las que hay que adherirse que sustituyen cualquier política o enfoque corporativo en particular.

Dado que las empresas generalmente (aunque no siempre) abarcan regiones, el modelo habitual es considerar que las cuentas son del nivel más alto. Cualquier cuenta de cliente dada puede tener múltiples regiones en las que el cliente tiene presencia legal. En cada una de esas regiones, entonces, dentro de la cuenta, se puede asignar un esquema RBAC específico a los usuarios relevantes para la cuenta.

En otras palabras, un usuario individual debe tener roles únicos, explícitamente enumerados para cada región en cada cuenta. El usuario X puede tener el rol 1 (con funcionalidad D1 y A1) para la cuenta S1 en la región Z, pero el rol 2 con la funcionalidad D2, T2 y A2 para la cuenta S1 en la región Y, y un conjunto completamente diferente para la cuenta S2 en las regiones Z e Y .

    
respondido por el Jonah Benton 05.09.2016 - 21:52
fuente
0

Funcionalidad de acceso: = roles Roles: = atributos Atributos: = propietario de la cuenta, tipo de cuenta, región, unidad de negocio, *

OK, ¿cuál es el problema cuando se usan coincidencias exactas en el conjunto de atributos? Es decir. Todos en la región C pueden usar la funcionalidad FA. Bueno, depende de si el negocio está bien con acceso no intencionado pero legítimo, y responsabilidad con su uso. Si configura un acceso basado en roles en el que no se incluye explícitamente en la lista blanca de titulares de cuentas, asegúrese de tener un registro contable que registre todo el uso por parte de los titulares de cuentas. Además, si el uso inapropiado pero legítimo resulta en daños, resalte que el programa está trabajando según las especificaciones y tiene registros adecuados para determinar la atribución del usuario. También tiene una cadena de que permite el acceso a qué.

    
respondido por el munchkin 06.09.2016 - 04:11
fuente

Lea otras preguntas en las etiquetas