¿Qué es IAM? (O: Vuelta al comienzo)

Image by Dayne Topkin <https://unsplash.com/@dtopkin1> via <https://unsplash.com/photos/u5Zt-HoocrM>

En artículos anteriores, nos hemos sumergido directamente en algunos conceptos bastante específicos de Gestión de Identidad y Acceso (IAM). Sin embargo, nos ha quedado pendiente establecer un escenario básico con los componentes principales del dominio de IAM. Una especie de capítulo 0 que defina las piezas que emplearemos. Tomémonos ahora el tiempo para hacerlo, sin entrar en excesivos detalles de momento (ya que los cubriremos en artículos posteriores).

¿Qué es IAM? 

Ya sabemos que en el dominio de la Seguridad de la Información, la Gestión de Identidad y Acceso es el campo que trata de asegurar que los usuarios adecuados tienen acceso apropiado a diferentes recursos (datos, aplicaciones, etc). En otras palabras, garantiza que estos usuarios solo puedan acceder a aquello para lo que han sido autorizados, según decisiones tomadas por los propietarios de esos recursos.

¿Pero qué significa todo eso? ¿Cómo lo logramos y cuáles son los diferentes componentes de esta actividad?

Aunque muy a menudo nos los encontramos confusos y mezclados (especialmente en situaciones en el mundo real), IAM tiene cinco pilares claramente distinguibles:

  1. La gestión de identidad (IdM, por sus siglas en inglés) es la forma en que la organización (o aplicación) sabe quién puede acceder a los recursos. Son los procesos para identificar a estas personas (que pueden ser usuarios, servicios o cualquier otro posible actor), validar suficientemente su identidad, recopilar y manejar información sobre ellos y gestionarlos a lo largo del ciclo de vida de la identidad, incluida la incorporación, el cambio y la baja. (Conocido en inglés como los procesos Joiner-Mover-Leaver). Este pilar es probablemente el más crítico, ya que es un pre-requisito para todos los demás. Tiene muchas implicaciones normativas (qué información podemos gestionar, para qué lo hacemos, cómo lo hacemos...) y necesita estar bien pensada de modo que la información sea relevante para nuestra visión a largo plazo (Ejemplo: si ya gestionamos 50.000 identidades de empleados y ahora decidimos introducir un nuevo atributo para identificar su puesto en la empresa, este cambio será mucho más difícil que identificar esta necesidad al principio).
  2. La autenticación (AuthN) es el proceso de validar, en un momento determinado, la identidad del usuario que accede a un recurso. En otras palabras, se trata de verificar que el usuario sea quien dice ser. Hay muchas formas de hacer esto, desde que el usuario proporcione un nombre de usuario y contraseña que almacenamos, hasta solicitar al usuario que confirme una notificación en su teléfono. También existe un tipo de autenticación no interactiva, principalmente para que servicios prueben su identidad, aunque no haya ningún usuario humano que proporcione activamente esa prueba de identidad en tiempo real.
  3. La autorización (AuthZ), también conocida como Gestión de acceso (AM, por sus siglas en inglés), es el proceso de definir qué usuarios tienen derecho a acceder a qué recursos. En otras palabras, definir "quién puede hacer qué" en base a nuestro apetito de riesgo. También existen múltiples métodos para hacer esto, desde simples listas de usuarios que pueden hacer X, hasta reglas automáticas que se evalúan en tiempo real para decidir si el usuario debe tener acceso o no. Será muy importante elegir la correcta, dependiendo de la complejidad, el tamaño y el dinamismo de nuestra organización, o nos encontraremos pagando el precio en forma de una configuración de autorización inmanejable y poco segura.
  4. El aprovisionamiento de acceso es el área de IAM que a menudo suele ignorarse. Es la pieza que hace que todo sea útil y efectivo, al hacer que estas decisiones de "quién puede hacer qué" estén disponibles para las aplicaciones. Supongamos que hemos definido que "John puede acceder a nuestros informes financieros mensuales". Pero... ¿cómo saben los diferentes sistemas que permiten acceder a estos informes financieros que John está autorizado? El aprovisionamiento de acceso consiste en colocar esta información en los lugares correctos o comunicarla a estos sistemas para que puedan aplicar el acceso adecuado. Las diferentes ramificaciones y posibilidades de esta capacidad son tantas como organizaciones existan, pero en artículos futuros cubriremos los diferentes enfoques y lo que significan.
  5. La gobernanza, también conocida como Control de Acceso (AC, por sus siglas en inglés), es el conjunto de prácticas para controlar que todos los pilares mencionados funcionen como se espera y reducir así el riesgo al que está expuesta la organización. No tiene un propósito en sí mismo, sino como garantía de que todos los demás componentes funcionen razonablemente bien. La gobernanza de IAM garantiza que nos adherimos al principio de Privilegio Mínimo (es decir, que otorgamos autorización según la necesidad de acceso). Por ejemplo: ¿Cómo nos aseguramos de que los empleados que abandonan la organización son eliminados correctamente de todos los sistemas? (tal vez sea un proceso automatizado, tal vez una revisión manual todos los lunes). ¿Y cómo nos aseguramos de que esos controles en sí mismos no fallen? Esto podría llevar a controles sobre controles sobre controles... ¿Hasta qué punto? ¿Cuánta reducción de riesgo y cuán efectivos y exhaustivos necesitamos que sean estos controles? Bueno, eso dependerá del apetito de riesgo de nuestra organización y las obligaciones regulatorias y legales aplicables. Recordemos que la certeza absoluta nunca es posible; siempre buscamos un nivel de certeza razonable (más sobre esto en artículos posteriores).

Toda organización necesita pensar detenidamente sobre estas cinco capacidades. Si pasa por alto solo una de ellas, todas se derrumban. Si tenemos políticas de autorización muy estrictas y restrictivas, pero nuestra autenticación es una broma y cualquiera puede hacerse pasar por otra persona, básicamente no tenemos nada. Si tenemos una autenticación extremadamente fuerte pero no existe verificación de identidad al registrar usuarios, básicamente no tenemos nada.

Estos pilares forman la cadena que asegura nuestra función IAM y, como cualquier cadena, será tan débil como el más débil de sus eslabones. Debemos asegurarnos de generar suficiente confianza en la fuerza que hemos impreso en ellos, de modo que cuando la realidad ponga a prueba la cadena (y lo hará), esta pueda soportar la tensión sin romperse.

Comentarios

Entradas populares de este blog

Por qué es importante tener un sistema centralizado de Gestión de Acceso (O: “Autorización-como-Servicio”)

No hay que preocuparse por los usuarios privilegiados (O: Controlando acciones, no personas)

La importancia de la gramática en IAM (AKA: Un permiso es un verbo)