Gestión de Identidad y Gestión de Acceso ¿Cuál es la diferencia?

José Luis Juárez Manzano – Security Architect de Víntegris

José Luis Juárez Manzano – Security Architect de Víntegris

Casi todos los que nos dedicamos a esto de la seguridad de la información y que hemos participado en el desarrollo de productos y soluciones para Identity and Access Management (Gestión de Identidad y de Acceso), hemos intentado convencer a nuestros clientes en más de una ocasión sobre cómo IAM puede ayudar a cumplir con las reglamentaciones, obtener ahorro de costos, mejorar la experiencia del cliente, etc.

A veces contamos estas cosas usando acrónimos y nombres muy sonoros de protocolos y productos.

Pero, por el contrario, no muchas veces tenemos claros conceptos como gestión de identidad y acceso, llegando generalmente a confundir y fusionar ambos términos. Por eso vamos a intentar aclararlos un poco.

¿Qué es identidad?

Todos disponemos de una identidad. Más concretamente en el mundo digital, nuestras identidades se manifiestan en forma de atributos, entradas en una base de datos que nos definen dentro de un sistema determinado.

La tendencia de los servicios en línea es recopilar todos estos atributos para que sean más útiles, para por ejemplo crear una experiencia de usuario personalizada, basada en los datos recopilados sobre nuestros atributos estáticos, definidos en el momento del registro en dicho servicio o dinámicos durante el consumo del mismo.

Los atributos nos diferencian de otros usuarios dentro de un mismo sistema.

Estos  atributos podrían ser una dirección de correo electrónico, un número de teléfono, etc.

Podemos catalogar de manera general dos tipos de atributos que serán tratados de diferente forma: los estáticos que generalmente no cambian, como podría ser el género, origen étnico, etc. Y los atributos dinámicos que si cambian con el tiempo, como puesto de trabajo, dirección postal, estado civil, edad, etc.

Gestión de identidad

La identidad digital de una persona se establece cuando éste se registra en un sistema. Durante este proceso, se recopilan y almacenan en la base de datos determinados atributos.

El proceso de registro y número de atributos a tratar pueden ser bastante diferentes dependiendo del tipo de identidad digital que se pretende otorgar.

La identidad electrónica emitida por algún centro oficial utilizará un proceso muy completo de recopilación y tratamiento, mientras que el registro en una red social puede realizarse con atributos de identidad completamente falsos y por lo tanto no verificados.

El proceso de gestión de identidad pretende tratar los atributos que definen al individuo.

Por ello, los responsables de crear, actualizar o incluso eliminar atributos relacionados con nuestro registro pueden ser perfiles tan diversos como el director de recursos humanos de la empresa, el administrador de TI, el gestor de servicios de un sitio de comercio electrónico, etc.

¿Atributo es igual a autorización?

Un atributo o conjunto de atributos pueden ser utilizados para desencadenar un proceso de evaluación de autorización, pero en ningún momento deben representar una autorización en sí misma, ya que esta última es el resultado de la evaluación de los atributos y es otorgada en base a unas reglas que pueden variar dependiendo de otros parámetros, como pueden ser otros atributos y/o autorizaciones. Por lo tanto, es bastante crucial que los atributos que otorgan poder al usuario se manejen y mantengan cuidadosamente, ya que de ello dependen las capacidades que se otorguen al usuario dentro del sistema.

¿Qué queremos decir con “acceso”?

Las decisiones de acceso son decisiones de tipo binario Si/No. Cuando se implementa un control de acceso, éste debe tomar la decisión de permitir o no que un usuario pueda ingresar en el sistema o consumir un recurso.

Normalmente suelen existir varios puntos de control de acceso dentro de un sistema o servicio. Por ejemplo, podría ser necesario determinar si el usuario puede o no identificarse; posteriormente se podría determinar qué operaciones puede realizar y, por tanto, se establecen algunos de puntos de control de acceso visuales para el usuario, que requieren acciones por su parte. El ejemplo más básico sería la autenticación básica y el caso más extremo lo constituiría un segundo o tercer factor.

¿Qué queremos decir con “autenticación”?

La autenticación es un proceso donde se establecerá la identidad del usuario. Hay muchas formas diferentes de autenticar al usuario.

En el nivel más bajo, el usuario puede autenticarse con un proceso de login básico únicamente con su nombre.

En el otro extremo del espectro, el usuario podría iniciar sesión en el servicio utilizando su identidad electrónica emitida por el gobierno (DNIe o similar). Entre estos dos ejemplos, existe una amplia gama de procesos y tecnologías para la autenticación.

Finalmente la gestión de acceso

Llegado a este punto nos podríamos estar preguntando: “cuando se establece la identidad del usuario, ¿éste puede acceder al servicio?”

La respuesta es no.

En ningún caso la autenticación será igual a la autorización: como veremos seguidamente, son conceptos diferentes aunque complementarios.

En puntos anteriores hemos visto que el resultado de la autenticación son determinados atributos del usuario en cuestión que denominaremos identidad.

Por el contrario, la autorización es el resultado de la evaluación de dicha identidad en base a unas reglas establecidas y únicamente debe devolver un valor binario.

Una política de autorización es una herramienta que se puede usar para crear un punto de decisión formal y único.

En el mundo de IAM, la política de autorización puede implementarse en un servicio centralizado, a nivel local, o en ambos.

La función de un proveedor de identidad es hacer una buena recopilación de atributos de identidad disponibles y tomar decisiones de acceso de alto nivel en nombre del servicio o identidad que se lo solicite.

Por todo lo anterior, no es aconsejable crear un marco de políticas de autorización a nivel de servicio, ya que crea complejidades, gastos generales de mantenimiento, es difícil de modificar rápidamente y, lo peor de todo, puede ser propenso a errores. Así que finalmente podríamos determinar la diferencia entre la gestión de identidades y la gestión de acceso como:

  • Identity management: trata sobre la gestión de los atributos relacionados con el usuario.
  • Access management: trata de evaluar los atributos basándose ​​en políticas definidas y tomar decisiones binarias.

Por José Luis Juárez – Consultor de Seguridad IT de Víntegris