Los sistemas de "gestión de identidades" son una necesidad de aquellas organizaciones en las que debido a su crecimiento, el número de repositorios de identidad, usuarios y/o servicios ha alcanzado un tamaño lo suficientemente grande como para que sea complicado continuar cumpliendo con las reglas de negocio, enfocadas a la identidad, de la organización sin dedicar excesivas cantidades de recursos a ello. El área de la normalización de la información implica el estudio de los sistemas de identidad existentes, la puesta en marcha de criterios para unificar la utilización de los mismos, y el preparar los datos para que estos puedan ser cargados en un sistema de "provisioning" futuro. Es importante destacar la diferencia entre el área de normalización y el de “provisioning”, mientras los procesos de normalización van a enfocados a organizar la información de identidad de una organización, previo a su integración en un sistema de gestión de identidad, los procesos implementados en el área de “provisioning”, van enfocados a implementar las reglas de negocio de la organización enfocadas a la identidad.
El proceso de normalización como se ha descrito consiste principalmente en dos fases, una primera de normalización de la información y una segunda de preparación de la información para su carga en el sistema de gestión de identidad. La primera de las fases suele realizarse cuando se da alguno de los siguientes puntos (siempre y cuando teniendo en cuenta las políticas definidas por la organización que pudiera hacer obsoleto alguno de los puntos):
1. Cuentas no asociadas a identidades. Es necesario un proceso de normalización cuando existen cuentas en los repositorios que no pueden ser asociadas a alguna identidad del sistema. 2. Múltiples cuentas por identidad en un mismo repositorio. En función de como se defina el sistema de gestión de identidades, es posible que no se permita la existencia de múltiples cuentas asociadas a una misma identidad en un repositorio. 3. Datos diferentes en los mismos atributos en diferentes repositorios de identidad. En el caso de atributos de identidad equivalentes, estos deberían ser iguales en los diferentes repositorios. Por ejemplo un caso sería un repositorio en el que una persona se tenga el nombre “José M.” y mientras que en otro repositorio tiene el nombre “José Manuel”. 4. Diferente sintaxis en los mismos atributos en diferentes repositorios de identidad. En el caso de atributos de identidad equivalentes, estos deberían ser iguales, no teniendo demasiado sentido que por ejemplo en un repositorio los datos estén en mayúsculas y en otros en minúsculas.
La segunda de las fases del proceso de normalización es la preparación de datos para su carga en el sistema de gestión de identidad. Dicho proceso puede realizarse de varios modos:
1. Preparación de datos en formato de entrada de la herramienta de provisión de gestión de identidad a partir de los repositorios actuales. Algunas de las herramientas de provisión de usuarios, incluyen formatos, generalmente basados en XML, o en CSV, que permiten la carga masiva de usuarios. 2. Utilización de APIs proporcionadas por las herramientas de provisión. Algunas herramientas de provisión de usuarios incluyen soporte para protocolos de provisión de usuarios. Un ejemplo de protocolo bastante extendido es el SPML. 3. Funciones de auto-descubrimiento de identidades proporcionadas por las herramientas provisión. Últimamente se está poniendo muy de moda en que las aplicaciones de gestión de provisión de usuarios incluyan opciones que permiten el auto-descubrimiento de identidades en los diferentes repositorios de identidad. Este tipo de opciones suelen utilizarse en organizaciones con uno o dos repositorios, y generalmente sólo cuando la estructura de datos y servicios es sencilla, en los casos de mayor complejidad este tipo de aproximaciones generalmente no funciona correctamente, al no ser capaz la herramienta de descubrir la lógica de los datos del sistema y tratarlos simplemente como cuentas y atributos de cuentas.
El tipo de procedimiento de generación de datos para la carga dependerá de la herramienta de provisión utilizada, las facilidades que esta proporcione y lo complejo de los procesos de normalización, aunque prácticamente todas las herramientas para la provisión de usuarios modernas soportan todos los modelos de normalización.
En artículos anteriores se ha mostrado un gráfico explicativo con las diferentes áreas de gestión de identidad para poder establecer un ámbito de trabajo y comprender que tipo de funcionalidades están involucradas en el contexto de la gestión de identidad. El objetivo de este artículo es exponer diferentes soluciones disponibles en el mercado para cubrir las necesidades detectadas en cada una de las áreas de la gestión de identidad.
A continuación se muestra un esquema con las áreas de gestión de identidad de las que se ha hablado en los artículos anteriores organizadas en dos grupos en función de las herramientas disponibles:
Como se puede ver a pesar de existir un número amplio de áreas de gestión de identidad, una vez que se trabaja en seleccionar las herramientas para cubrir las necesidades en cada una de ellas, cada una de estas herramientas engloba las funcionalidades de más de un área, distinguiéndose principalmente herramientas de dos tipos:
Herramientas para gestionar la provisión de usuarios (UP)
El número de productos disponible en el mercado es muy elevado, por ello para seleccionar un reducido conjunto de productos a evaluar se han seguido los criterios de liderazgo en el mercado, y además se ha incluido un producto en la categoría de software libre. Para seleccionar que productos evaluar se ha utilizado el cuadrante mágico de Gartner, seleccionando los líderes del mercado en dicho informe, mostrado a continuación:
Como se puede ver en el cuadrante existen cuatro soluciones muy parejas, se ha decidido evaluar sólo tres de esas soluciones (aunque seguramente si se hubiera evaluado IBM Tivoli los resultados de ese productos hubiesen sido muy similares al de los otros tres productos.
Para utilizar otra fuente de datos además de ese informe y ver el interés que se tiene en internet por los productos, se ha utilizado “google trends” para comparar las búsquedas que se realizan sobre los productos. En la gráfica se puede ver que la solución de Novell no tiene un número de búsquedas significativo, pero eso puede significar que la gente interesada acude directamente a la web de Novell y desde allí accede a su solución para la provisión de usuario. El resto de soluciones están muy parejas.
Finalmente se incluye una tabla comparativa de las soluciones con ciertos criterios que se han considerado de relevancia para comparar los distintos productos:
Comparativa de productos del tipo UP
Sun IDM
Novell IDM
Oracle IDM
VELO
Conectores
Muy alto
Bajo
Escalabilidad
Buena
n/a
Documentación
Muy buena
Deficiente
Licencias
Gratuitamente
Libre
Soporte
Muy bueno
Auditoría y reporting
Bueno
Medio
Actualizaciones
Frecuentes
Madurez del producto
Muy alta
Tabla 1. Comparativa de productos del tipo UP
Analizado producto por producto se llegan a las siguiente conclusiones:
El término "gestión de identidades" (GID), es un termino que se aplica a distintas áreas relacionadas con la identidad de las personas en las organizaciones. En orden a poder hablar con los distintos interlocutores, es necesario establecer un escenario común, por lo que resulta imprescindible establecer cada una de las áreas que de por si, o en conjuntos, suelen ser referidas como "gestión de identidades". Por ello es muy importante que al inicio de un estudio de "gestión de identidades" se identifiquen aquellas áreas que los interlocutores consideran su marco de referencia para la gestión de identidades".
Un sistema de gestión de identidades puede estar focalizado a una, varias o todas las siguientes áreas de la gestión de identidad. A continuación se muestra un diagrama de ámbito, en la que aparecen cada una de esas áreas y como se interrelacionan entre si:
En el diagrama se recoge un recorrido visual de izquierda a derecha por cada una de las áreas que componen el ámbito de la gestión de identidades. Dicho recorrido visual también debe ser interpretado como una ordenación espacio-temporal de los procesos llevados a cabo para la implantación de un sistema de gestión de identidades. Dichos procesos comienzan con un proceso de normalización de los repositorios de identidad de la organización que concluye con una carga de datos en el sistema de provisioning. Este a continuación nutre de datos a los distintos repositorios con información normalizada (incluyendo en muchas ocasiones un nuevo repositorio de identidad global denominado meta-directorio), que a su vez son utilizados por los servicios para autenticar y autorizar a los usuarios. Además en sistemas más complejos se suele trabajar en la inclusión mecanismos de SSO y federación utilizando los repositorios de identidad para la función de autenticación.
A continuación se incluye una explicación detallada de aquello en lo que consiste cada una de las áreas que componen un sistema de gestión de identidades:
Mientras en el ámbito de la gestión de identidad se suele hacer referencia a todas estas áreas, sólo en contadas ocasiones se suelen encontrar sistemas de gestión de identidad implantados que cubren la totalidad de las mismas.