¿Puedo usar el servicio de administración de usuarios de stormpath con una biblioteca XACML como BALANA?

4

Estoy intentando implementar algún control de acceso de seguridad en un software que estoy creando. Me encontré con Stormpath para la administración de usuarios y tienen un enfoque para RBAC, pero lo que estaba considerando es confiar en XACML para ABAC y más específicamente < a href="http://xacmlinfo.org/2012/08/08/16/balana-the-open-source-xacml-3-0-implementation/"> BALANA de WSO2 en el sentido de que puedo configurar los atributos para los usuarios y almacenar los perfiles en stormpath mientras confío en XACML para las políticas.

Soy un poco nuevo en esto, así que me preguntaba si esto es aconsejable o si hay otro enfoque que sería útil en mi caso para reutilizar cosas por seguridad en lugar de construir cosas desde cero.

    
pregunta user53158 03.08.2014 - 15:05
fuente

2 respuestas

1

Una de las cosas que la gente hace con frecuencia con Stormpath es asignar políticas de autorización (como XACML o 'permisos' de cadenas sin formato, o datos de propiedad, lo que sea) a Cuentas o Grupos almacenándolos en customData .

Los recursos primarios en Stormpath ( Account , Group , Directory , Application , Tenant ) le permiten almacenar datos sin espacio ad hoc en el recurso customData del recurso para cualquier cosa que necesite, como campos personalizados o, por supuesto, información de la política de autorización.

Por ejemplo, con Account s, sería fácil autenticar primero Account , y luego de una autenticación exitosa, obtener customData de esa cuenta y obtener su política de autorización (por ejemplo, XACML) y luego verificarla. deseo.

Esto se vuelve más poderoso cuando haces lo mismo con Group resources también.

Por ejemplo, un esquema común para encontrar una política efectiva (agregada) de una Cuenta es agregar todas las políticas en todos los Group s de los que Account es miembro. En este esquema, la cuenta está autorizada para hacer cualquier cosa que esté representada en su customData directo o en cualquiera de sus grupos customData .

No sé qué lenguaje de programación usa, pero, como ejemplo de cómo se podría lograr esto, los usuarios de Stormpath que usan Apache Shiro haga esta técnica exacta con los permisos de Shiro, el concepto integrado de la política de autorización basada en cadenas de Shiro.

Independientemente del formato de la política de autorización o del lenguaje de programación (por ejemplo, XACML en lugar de cadenas de permisos), puede aprovechar los recursos Stormpath y sus datos personalizados para esquemas de autorización similares o personalizados. Espero que eso ayude!

    
respondido por el Les Hazlewood 15.10.2014 - 00:22
fuente
1

Depende de tu arquitectura. En principio, puede utilizar XACML con cualquier herramienta de administración de usuarios o administración de autenticación. Las principales preguntas son:

  • ¿dónde inserta su PEP?
  • ¿Cómo capturará la identidad del usuario?
  • ¿Cómo se lo pasará al PDP?
  • ¿El PDP deberá llamar a un PIP subyacente? ¿Necesitará llamar a Stormpath para recuperar los atributos del usuario?

Para obtener más información sobre la arquitectura y el lenguaje de XACML, puede consultar el blog del desarrollador de Axiomatics:

respondido por el David Brossard 03.08.2014 - 20:53
fuente

Lea otras preguntas en las etiquetas