Appearance
Estructuras organizativas
Introducción
En nuestro control de acceso a las aplicaciones es importante conocer dónde está situado un usuario dentro de su estructura organizativa. Este servicio se puede consumir desde el API de Plataforma.
Integración
El servicio de estructuras organizativas permite crear nodos e ir relacionándolos para representar la estructura organizativa de nuestra organización. Los distintos elementos como explotaciones, área manager, oficinas, etc los representamos con nodos y los vínculos entre ellos con relaciones.
Todos los nodos están compuestos por n etiquetas (labels) y m campos de propiedades (properties), mientras que las relaciones sólo puede tener un tipo (type) y m campos de propiedades (properties).
Se ha tenido en cuenta dos tipos especiales de nodo para representar a los usuarios y a las explotaciones: user y site. Vínculando estos nodos mediantes relaciones de tipo AccessTo y Contains, el sistema nos permitirá realizar consultas complejas como la consulta comunmente utilizada de saber a qué explotaciones tiene acceso un usuario según su nodo de pertenencia.
En el gráfico del apartado se visualiza un ejemplo de grafo con estos nodos y estas relaciones, siendo los nodos violeta, las explotaciones; los nodos magenta, los usuarios; y los nodos grises, cualquier nodo.
Además se proveen consultas avanzadas a través del API como:
- Consultar todas las explotaciones las que está conectado un usuario (/instances/{serviceInstanceId}/users/{userId}/sites)
Esta consulta navega la estructura organizativa basándose en la relación Contains entre nodos y en la relación AccesTo entre users y nodos y devuelve las explotaciones Sites a las que el usuario tendría acceso.
En el ejemplo anterior, si hiciéramos esta consulta para encontrar las explotaciones a las que tiene acceso Alfred B. encontraríamos: Aguas de Moncloa, Aguas de Madrid, London Water, Qatar Water, Petersb...