Integración en Autorización

LIBP-0203 (Libro de pautas)

La infraestructura de GUIA da soporte a las aplicaciones para un primer nivel de autorización de acceso a las mismas así como a la asignación de roles a los usuarios para gestionar los permisos de uso de las mismas a los usuarios con acceso.

Aunque la noción primera de autorización la proporcionan los roles que un usuario puede tener en una aplicación se pueden establecer otros criterios en función de los datos conocidos del usuario. La información que de un usuario se puede extraer del Directorio de GUIA y que puede proporcionar estos permisos en la aplicación es:

  • Roles asignados al usuario en cada aplicación
  • Pertenencia del usuario a una organización
  • Pertenencia del usuario a grupos de trabajo
  • Cualquier otro dato que pueda resultar útil para discriminar permisos

La infraestructura de GUIA no posee un sistema completo para la gestión de permisos para aplicaciones y es responsabilidad de la lógica funcional de las mismas otorgar los permisos adecuados a cada usuario en función de la información proporcionada. Así los roles que se pueden asignar a los usuarios para cada aplicación desde GUIA pertenecen a un conjunto cerrado de roles específicos que pueden ser empleados directamente por la aplicación o usarlos de apoyo a los roles (más concretos) definidos en la misma.

Pautas

TítuloCarácter
Control de acceso basado en rolesRecomendada
Comprobar pertenencia del usuario a grupos de roles de la aplicaciónRecomendada
Mantenimiento de los roles asignados por la aplicaciónObligatoria
Comprobar pertenencia del usuario a unidad operativa o grupos de trabajoRecomendada
Comprobar autorizaciones mediante servicios webRecomendada

Control de acceso basado en roles

Las aplicaciones se orientarán, en la medida de lo posible, a una gestión de autorizaciones basada en roles.

Para simplificar la gestión del acceso y de los usuarios de la aplicación, las aplicaciones se orientarán a roles en los casos que sea posible. Es decir, en lugar de asignar a un usuario múltiples privilegios de bajo nivel, se debe intentar agrupar privilegios en roles más globales y basar en ellos la gestión.

Comprobar pertenencia del usuario a grupos de roles de la aplicación

Los roles asociados a un usuario podrán encontrarse almacenados en el Directorio Corporativo y se recomienda el uso de estos roles almacenados en el Directorio para la gestión de permisos de los usuarios en una aplicación.

En la infraestructura de GUIA se define un conjunto limitado de roles que se podrán asignar a los usuarios de cada aplicación. Esta definición se realiza en el momento que se da de alta a una aplicación como recurso en el Directorio. La aplicación tendrá al menos un rol que le permita determinar permisos de acceso.

Se recomienda el uso de los web services de roles por parte de las aplicaciones para consultar la información almacenada en el Directorio.
Si se pretendiera consultar la información de roles mediante conexión directa al Directorio utilizando protocolo LDAP (no recomendado), veáse el recurso 'Clasificación de Atributos y Estructura del Directorio' para conocer la localización de las ramas donde se encuentra la información de aplicaciones y roles.

Mantenimiento de los roles asignados por la aplicación

Es obligatorio el uso de los web services de roles por parte de las aplicaciones que basen la autorización en roles para informar en el Directorio de los cambios de roles de usuario gestionados por la aplicación.

Comprobar pertenencia del usuario a unidad operativa o grupos de trabajo

Para dependencias organizativas de autorización se recomienda el uso de los grupos LDAP relativos a Unidades Operativas y Grupos de Trabajo definidos en el Directorio Corporativo.

En el Directorio de GUIA se encuentran definidos los grupos organizativos en dos categorías, unidades operativas (UO) y otros grupos de trabajo. Además cada grupo organizativo se define en dos grupos del directorio uno para responsables y otro para las identidades del grupo. Toda esta información se encuentra organizada por organismos.

Estos grupos organizativos son dinámicos, esto quiere decir que sus miembros se obtienen a partir de una consulta. Esta consulta está definida dentro del atributo labeleduri del grupo y sus miembros, resultado de la búsqueda, referenciados a través del atributo uniquemember, donde se encontrará el dn de estas identidades.

Hay que tener en cuenta también que los grupos de trabajo puede a su vez tener asignadas UO (es decir conviven en el grupo los 'dn' de identidades y de grupos de unidades operativas, todos ellos dentro del atributo uniquemember) y que las consultas de identidades asignadas deben extenderse también a dichas unidades operativas.

Se recomienda el uso de los web services de directorio por parte de las aplicaciones para consultar la información almacenada en el Directorio.
Si se pretendiera consultar directamente el directorio mediante protocolo LDAP (no recomendado), veáse el recurso 'Clasificación de Atributos y Estructura del Directorio' para conocer la localización de las ramas de estos grupos en el mismo.

Comprobar autorizaciones mediante servicios web

Es recomendable que las aplicaciones accedan a la información de usuarios, unidades operativas, grupos de trabajo y roles mediante el uso de los servicios web de directorio y roles desarrollados a tal efecto.

El uso de estos servicios web aporta las siguientes ventajas al desarrollo de aplicaciones:

  • Hace independiente a la aplicación de la estructura del directorio.
  • Incluye automáticamente las políticas de gestión de grupos en la lógica de la aplicación. Por ejemplo, realiza la búsqueda de usuarios de un grupo de trabajo en las unidades operativas asociadas.
  • Hace independiente a la aplicación de posibles (aunque no previsibles) cambios en la estructura del Directorio Corporativo.
  • No se requiere comunicación LDAP en la aplicación haciendo mas sencilla y directa la comunicación con el Directorio.