API del Servicio Web de Roles
- Área: GUIA: Gestión Unificada de Identidades de Andalucía
- Carácter del recurso: Recomendado
Descripción
Con el sistema de roles se pretende que GUIA registre los roles de las identidades en las distintas aplicaciones. De esta forma existirán una serie de roles en GUIA que previamente han tenido que ser acordados con cada aplicación. Estos roles serán consultados por las aplicaciones en GUIA, y a partir de ellos podrán comprobar sus permisos internamente en cada sistema.
Los roles se actualizan en el directorio a través de OIM. De esta forma se proporcionan como parte del API del Directorio los métodos que permiten modificar esta información de roles en OIM. Las operaciones contempladas serán: asignar rol a usuario, desasignar rol a usuario y consultar los roles de un usuario. Esta información se replicara automáticamente en el Directorio.
Para consultar esta información sobre roles las aplicaciones accederán al Directorio usando la interfaz de Servicios Web. En el directorio esta información estará en forma de grupos, donde cada rol será un grupo compuesto por los usuarios que poseen ese rol.
Antes de utilizar alguno de los métodos de roles sobre una identidad concreta es necesario que esta tenga el recurso que representa a la aplicación aprovisionado en OIM. De esta forma le estamos diciendo a OIM que la identidad tiene la posibilidad de utilizar la aplicación. Para poder aprovisionar la identidad se ha suministrado un método del Servicio Web Aprovisionar recurso a identidad extendida. Es necesario haber invocado este método antes de realizar otras operaciones sobre la identidad.
Descripción de métodos
[DEPRECATED] String aprovisionaRecursoIdentidad(AprovisionaRecursoIdentidad) | ||
Este método se encarga de aprovisionar una aplicación a una determina identidad. Este método ha quedado obsoleto, se recomienda usar en su lugar aprovisionaRecursoIdentidadExt. | ||
Parámetros | ||
IdAplicacion | String | Nombre de la aplicación |
Organismo | String | Organismo al que pertenece la aplicación. “comun” para aplicaciones horizontales |
IdentificadorIdentidad | String | Número de documento de identificación de la identidad |
Salida | ||
No hay. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario ya tiene el recurso aprovisionado. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. |
String aprovisionaRecursoIdentidadExt(AprovisionaRecursoIdentidadExt) | ||
El método aprovisiona a una identidad un recurso asociado a una aplicación, asignándole el rol que se envía. Si no se establece un rol, la aplicación tomará uno por defecto. | ||
Parámetros | ||
TipoIdentificador | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
RolAsignado | String | Opcional. Rol que se asigna la identidad. Si no se recibe alguno, se agrega al rol por defecto. |
Salida | ||
Se envía la cadena “OK” si se ejecuta la operación con éxito. En caso de error se lanza un SOAP Fault. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario ya tiene el recurso aprovisionado. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
11 | El tipo de identificador no es válido. |
ObtenerRolesAplicacionResponse obtenerRolesAplicacion(ObtenerRolesAplicacion) | ||
Mediante este método se puede conocer con que roles cuenta una aplicación. | ||
Parámetros | ||
IdAplicacion | String | Nombre de la aplicación |
Organismo | String | Organismo al que pertenece la aplicación. “comun” para aplicaciones horizontales |
Salida | ||
La salida es una secuencia de cadenas con los roles de la aplicación. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la aplicación. | |
2 |
| |
4 | Error de conexión a OID. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. |
[DEPRECATED]String asignarRol(MensajeRol) | ||
Mediante este método se puede conocer con que roles cuenta una aplicación. Este método ha quedado obsoleto y se recomienda usar asignarRolIdentidad. | ||
Parámetros | ||
IdAplicacion | String | Nombre de la aplicación |
Organismo | String | Organismo al que pertenece la aplicación. “comun” para aplicaciones horizontales |
IdentificadorIdentidad | String | Número del documento de identificación de la identidad a la que se le va a asignar un rol |
Rol | String | Rol asignado, seleccionado del conjunto de roles de la aplicación. |
Salida | ||
La salida es una secuencia de cadenas con los roles de la aplicación. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario ya tiene asignado este rol. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
8 | El usuario no tiene asignado el recurso. | |
9 | La identidad tiene el recurso revocado o en proceso de aprovisionamiento. | |
10 | Se ha recibido un rol que no es de la aplicación. |
String asignarRolIdentidad(AsignarRolIdentidad) | ||
Asigna a una identidad un rol para una aplicación. | ||
Parámetros | ||
TipoIdentificador | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
Rol | String | Opcional. Rol que se asigna la identidad. |
Salida | ||
Se envía la cadena “OK” si se ejecuta la operación con éxito. En caso de error se lanza un SOAP Fault. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario ya tiene el recurso aprovisionado. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
8 | El usuario no tiene el recurso. | |
10 | Se ha recibido un rol que no es de la aplicación. | |
11 | El tipo de identificador no es válido. |
[DEPRECATED]String desasignarRol(MensajeRol) | ||
Mediante este método se puede conocer con que roles cuenta una aplicación. Este método ha quedado obsoleto, por lo que se recomienda usar desasignarRolIdentidad. | ||
Parámetros | ||
IdAplicacion | String | Nombre de la aplicación |
Organismo | String | Organismo al que pertenece la aplicación. “comun” para aplicaciones horizontales |
IdentificadorIdentidad | String | Número del documento de identificación de la identidad a la que se le va a desasignar el rol |
Rol | String | Rol que se va a desasignar a la identidad |
Salida | ||
No hay. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario no tiene asignado el rol. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
9 | La identidad tiene el recurso revocado o en proceso de aprovisionamiento. | |
10 | Se ha recibido un rol que no es de la aplicación. |
String desasignarRolIdentidad(DesasignarRolIdentidad) | ||
Se desasigna un rol a una identidad en una aplicación. | ||
Parámetros | ||
TipoIdentificador | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
Rol | String | Opcional. Rol que se desasigna a la identidad. |
Salida | ||
Se envía la cadena “OK” si se ejecuta la operación con éxito. En caso de error se lanza un SOAP Fault. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
5 | El usuario ya tiene el recurso aprovisionado. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
8 | El usuario no tiene el recurso. | |
10 | Se ha recibido un rol que no es de la aplicación. | |
11 | El tipo de identificador no es válido. |
[DEPRECATED] String[] obtenerRol(ObtenerRolesAplicacion) | ||
Este método obtiene los roles de una identidad para una determinada aplicación. Este método ha quedado obsoleto, se recomienda usar este obtenerRolesIdentidad. | ||
Parámetros | ||
IdAplicacion | String | Nombre de la aplicación |
Organismo | String | Organismo al que pertenece la aplicación. “comun” para aplicaciones horizontales |
IdentificadorIdentidad | String | Número del documento de identificación de la identidad a la que se le va a obtener el rol |
Salida | ||
Secuencia de roles que tienen el usuario en la aplicación indicada. | ||
Errores | ||
0 | Error interno | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. |
ObtenerRolesIdentidadResponse obtenerRolesIdentidad(ObtenerRolesIdentidad) | ||
El método devuelve un listado de los roles que una identidad posee en una aplicación. | ||
Parámetros | ||
TipoIdentificadorIdentidad | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
Salida | ||
Secuencia de roles que tienen el usuario en la aplicación indicada. Se recibe una lista vacía en caso no tener roles asociados. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
11 | El tipo de identificador no es válido. |
String revocarRecursoIdentidad(RevocarRecursoIdentidad) | ||
El método revoca un recurso a la identidad, anulando sus privilegios en la aplicación asociada. | ||
Parámetros | ||
TipoIdentificador | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
Salida | ||
Se envía la cadena “OK” si se ejecuta la operación con éxito En caso de error se lanza un SOAP Fault. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
3 | No se encontró la aplicación. | |
4 | Error de conexión a OID. | |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
7 | Error de conexión con OIM. | |
8 | El usuario no tiene asignado el recurso. | |
11 | El tipo de identificador no es válido. |
ObtenerRecursosIdentidadResponse obtenerRecursosIdentidad(ObtenerRecursosIdentidad) | ||
El método obtiene un listado con los recursos que la identidad tiene asociados, junto con el estado de cada uno de ellos. | ||
Parámetros | ||
TipoIdentificador | String | Obligatorio. Código del identificador. |
ValorIdentificador | String | Obligatorio. Valor del identificador |
Salida | ||
Secuencia de recursos que tienen el usuario. Cada recurso se recibe con un nombre, una breve descripción y su estado. Si no tiene ningún recurso, se devuelve una lista vacía. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
11 | El tipo de identificador no es válido. |
ObtenerIdentidadesRolAppResponse obtenerIdentidadesRolApp(ObtenerIdentidadesRolApp) | ||
El método devuelve un listado con las identidades que tienen asociadas un determinado rol en una aplicación. | ||
Parámetros | ||
IdAplicacion | String | Obligatorio. Nombre de la aplicación |
Organismo | String | Obligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales |
Rol | String | Obligatorio. Rol del que se consultan sus identidades |
Salida | ||
Secuencia de identidades con el rol asignado. Si ningún usuario tiene este rol, se devuelve una lista vacía. | ||
Errores | ||
0 | Error interno. | |
1 | No se encontró la identidad. | |
2 |
| |
6 | No se ha recibido algún parámetro obligatorio para realizar la operación. | |
10 | Se ha recibido un rol que no es de la aplicación |
String isAlive() | ||
El método devuelve la cadena “OK” si el Servicio Web esta funcionando correctamente. | ||
Parámetros | ||
Ninguno | ||
Salida | ||
Cadena de texto 'OK' si el funcionamiento es correcto. | ||
Errores | ||
0 | Error interno. | |
4 | Error de conexión con OID | |
7 | Error de conexión con OIM |
Apéndice 1: Consulta de Identidades
Muchos de los métodos de consulta de identidad permiten utilizar cualquiera de los identificadores de la identidad para realizar la consulta. Estos métodos reciben dos parámetros, uno con el tipo del identificador que se va a usar y otro con el valor de este.
El parámetro tipoIdentificador debe ser una de los siguientes valores:
Valor | Descripción |
---|---|
GUIA | Identificador interno de GUIA |
NIF | Identificador NIE/NIF de la identidad |
UID | Identificador uid de la identidad |
El valor se corresponde con el valor del identificador por el cual queremos hacer la consulta. Por ejemplo para el método consultaIdentidadExt serían validas las siguientes llamadas:
- Identidad identidad = consultaIdentidadExt(“GUIA”, “100300007”);
- Identidad identidad = consultaIdentidadExt(“NIF”, “11111111B”);