API del Servicio Web de Roles

RECU-0440 (Recurso API)

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
IdAplicacionStringNombre de la aplicación
OrganismoStringOrganismo al que pertenece la aplicación. “comun” para aplicaciones horizontales
IdentificadorIdentidadStringNúmero de documento de identificación de la identidad
Salida
No hay.
Errores
0
Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario ya tiene el recurso aprovisionado.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error 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
TipoIdentificadorStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. Valor del identificador
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales
RolAsignadoStringOpcional. 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.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario ya tiene el recurso aprovisionado.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
11El 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
IdAplicacionStringNombre de la aplicación
OrganismoStringOrganismo 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.
1No se encontró la aplicación.
2
  • No se tiene acceso a la operación.
  • No se tiene acceso al organismo.
  • No se tiene acceso de lectura a la aplicación.
4Error de conexión a OID.
6No 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
IdAplicacionStringNombre de la aplicación
OrganismoStringOrganismo al que pertenece la aplicación. “comun” para aplicaciones horizontales
IdentificadorIdentidadStringNúmero del documento de identificación de la identidad a la que se le va a asignar un rol
RolStringRol 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
0Error interno.
1No se encontró la identidad.
2
  • No se tiene permiso sobre el organismo.
  • No se tiene acceso de escritura a la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario ya tiene asignado este rol.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
8El usuario no tiene asignado el recurso.
9La identidad tiene el recurso revocado o en proceso de aprovisionamiento.
10Se 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
TipoIdentificadorStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. Valor del identificador
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales
RolStringOpcional. 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
0Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario ya tiene el recurso aprovisionado.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
8El usuario no tiene el recurso.
10Se ha recibido un rol que no es de la aplicación.
11El 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
IdAplicacionStringNombre de la aplicación
OrganismoStringOrganismo al que pertenece la aplicación. “comun” para aplicaciones horizontales
IdentificadorIdentidadStringNúmero del documento de identificación de la identidad a la que se le va a desasignar el rol
RolStringRol que se va a desasignar a la identidad
Salida
No hay.
Errores
0Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso a la operación.
  • No se tiene acceso de escritura sobre la aplicación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario no tiene asignado el rol.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
9La identidad tiene el recurso revocado o en proceso de aprovisionamiento.
10Se 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
TipoIdentificadorStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. Valor del identificador
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales
RolStringOpcional. 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
0Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
5El usuario ya tiene el recurso aprovisionado.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
8El usuario no tiene el recurso.
10Se ha recibido un rol que no es de la aplicación.
11El 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
IdAplicacionStringNombre de la aplicación
OrganismoStringOrganismo al que pertenece la aplicación. “comun” para aplicaciones horizontales
IdentificadorIdentidadStringNú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
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso a la operación.
  • No se tiene acceso de escritura sobre la aplicación.
3No se encontró la aplicación.
4Error de conexión a OID.
6No 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
TipoIdentificadorIdentidadStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. Valor del identificador
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. 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
 0Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
11El 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
TipoIdentificadorStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. Valor del identificador
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. 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
 0Error interno.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
3No se encontró la aplicación.
4Error de conexión a OID.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
7Error de conexión con OIM.
8El usuario no tiene asignado el recurso.
11El 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
TipoIdentificadorStringObligatorio. Código del identificador.
ValorIdentificadorStringObligatorio. 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.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
11El 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
IdAplicacionStringObligatorio. Nombre de la aplicación
OrganismoStringObligatorio. Organismo al que pertenece la aplicación. 'comun' para aplicaciones horizontales
RolString
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.
1No se encontró la identidad.
2
  • No se tiene acceso al organismo.
  • No se tiene acceso de escritura sobre la aplicación.
  • No se tiene acceso a la operación.
6No se ha recibido algún parámetro obligatorio para realizar la operación.
10Se 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.
4Error de conexión con OID
7Error 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:

ValorDescripción
GUIAIdentificador interno de GUIA
NIFIdentificador NIE/NIF de la identidad
UIDIdentificador 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”);