Uno de los temas de los que deberías de preocuparte, y no solo en el cloud, es de la gestión de los permisos que tienen tus usuarios sobre los recursos de la empresa. Desde hace ya unos años, Microsoft Azure utiliza RBAC (Role Based Access Control), lo cual nos permite asignar roles a los diferentes usuarios y grupos de una forma más granular pero ¿lo estás utilizando correctamente? ¿por cuánto tiempo tiene un usuario permisos? ¿hay algún sistema de aprobación interno que determine quién debe tener acceso y quién no? Hoy te quiero hablar de Azure AD Privileged Identity Management y cómo te puede ayudar en todas estas tareas.
¿Qué es Azure AD Privileged Identity Management?
En primer lugar debes saber que Azure AD Privileged Identity Management, o PIM, se trata de un servicio que te permite administrar y monitorizar el acceso a los recursos de tu organización. Dicho así no parece mucho, pero PIM está diseñado para hacer todo lo siguiente:
- Puedes configurar Just In Time (JIT) para el acceso con un determinado rol, por ejemplo de Owner.
- Se pueden asignar roles permanentes pero con una ventana de tiempo, con fecha de inicio y de fin.
- Dispone de un flujo de aprobaciones, sí especificamos que un rol en concreto lo requiera.
- Notificaciones, auditoria y revisiones de acceso para controlar todo lo que ocurre.
Desplegar el Azure AD PIM
Para desplegar PIM debes tener Azure AD Premium P2. ¿Significa que necesito esta licencia para todos los usuarios de mi directorio activo? La respuesta es no, solo para aquellos que necesiten beneficiarse de estos mecanismos (admin, usuarios elegibles para activar un rol en un momento determinado, aprobadores de los workflows, revisores de acceso, etcétera). Puedes conseguir una licencia trial directamente desde el portal.
Una vez que la tengas debes ir a Create a resource y buscar Azure AD Privileged Identity Management.

Cuando el servicio está creado todavía te queda algo más por hacer: Accede al servicio y consiente el uso de PIM. El primer Global Administrator de tu Azure AD que haga clic en Consent en PIM obtendrá los roles de Security Administrator y Privileged Administrator. El siguiente paso es elegir qué suscripciones van a estar bajo PIM. Dentro del servicio, accede a la sección llamada Azure Resources y haz clic en Discover resources.

Desde aquí selecciona aquellas que quieres gestionar y hacer clic sobre Manage resource para agregarlas al servicio. Esta operación sólo se realiza una vez.

Si haces clic en cualquiera de las suscripciones que hayas agregado, verás que tienes nuevos paneles, con la última información de lo que ha ocurrido en la misma. Un apartado interesante es el llamado Role settings, donde puedes configurar las preferencias específicas para cada rol de los recursos de Azure.

Como puedes ver, se pueden modificar varios parámetros super importantes, como pueden ser el tiempo que puede estar asignado, el tiempo máximo que puede estar activado un rol, si se necesita MFA cuando se quiere activar, si necesita aprobación, etcétera. Para este ejemplo voy a modificar el rol Owner y voy a activar Require Azure Multi-Factor Authentication on activation y Require approval to activate.

En este ejemplo, he elegido solo un aprobador, pero es recomendable que elijas más de uno para evitar cuellos de botellas en las aprobaciones, si es que son necesarias.
También podemos hacer lo mismo para los roles de Azure AD. Para ello, debes acceder a la sección Azure AD Roles y en el apartado Manage haz clic en Settings. La UI es diferente a la anterior pero el cometido es el mismo.

Haz clic en Roles y selecciona Default for all roles.

Para este ejemplo voy a configurar que para activar cualquier rol es necesario usar MFA y que además se notificará por email a los administradores de cualquier activación.

A nivel de rol específico, además de estas opciones, también está la posibilidad de añadir el flujo de aprobaciones, como en el caso de los roles sobre los recursos.
Cómo se usa Azure AD PIM
Ahora ya sabes que con Azure AD PIM puedes gestionar tanto los roles que asociamos a los recursos de Azure como los roles de tu Azure Active Directory ¿pero cómo se usa esto? Vamos a verlo con un ejemplo:
Roles permanentes y elegibles
Antes de comenzar a utilizar PIM debes de entender los dos modelos de rol que hay a la hora de asignarlos: Los roles permanentes son aquellos que has asignado a un usuario y que siempre están disponibles. Es decir, no necesitan activarlos en ningún momento porque «viven con ellos». Estos pueden tener tiempo de inicio y de fin pero, mientras ese tiempo dure, el usuario no necesita hacer nada más.
Sin embargo, con los roles elegibles lo que estamos haciendo es definir qué usuarios pueden llegar a tener un rol en un momento determinado pero, dependiendo del que sea, necesita pasar por un proceso de activación. Este proceso puede ser más o menos restrictivo y tus poderes tienen un tiempo de vida limitado 🙂
Ahora que ya entiendes ambos, el primer paso de todo es asignar los roles que consideres desde Azure AD PIM a tus usuarios o grupos. A día de hoy, los roles de Azure AD están separados de los roles sobre los recursos de Azure.

Selecciona Azure AD roles y haz clic en el apartado de Members.

Desde aquí puedes ver todos los usuarios que tienen algún tipo de role e incluso si el mismo tiene expiración. En este ejemplo he dado de alta a Jamie Lannister y Jon Snow para el rol Global Administrator pero en modo elegible, lo cual significa que en algún momento los usuarios deberán activar dicho rol si necesitan hacer alguna tarea que lo requiera.
En el caso de los roles para los recursos de Azure, debes acceder al apartado Azure Resources, selecciona la suscripción que añadiste en el paso anterior, y acceder también al apartado Members.

Las pantallas son algo diferentes a las de Azure AD pero la idea es exactamente la misma: La primera pestaña pertenece a los roles que hemos configurado como elegibles. De la misma forma, he añadido a Jamie Lannister para el rol Owner, que modificamos también anteriormente. De hecho puedes ver que estará como elegible hasta Septiembre. En las siguientes pestañas te muestra cuáles son los roles que están activos, y para quién, así como los roles que ya han expirado.
Ya tienes al menos un usuario con roles asignados con el que podemos jugar. Estos pasos son necesarios antes de que un usuario pueda pedir elevar sus permisos.
Jamie Lannister quiere elevar sus permisos
Ahora, desde el punto de vista del usuario, quiero elevar los permisos de Jaime. Para ello, también debo acceder a Azure AD Privileged Identity Management, y acceder al apartado My Roles:

En él, vemos que tenemos la misma separación de roles. Si hacemos clic en Azure AD Roles verás que aparece Global Administrator, que fue el que configuramos como elegible en el apartado anterior de los roles de Azure AD.

Haz clic sobre Activate para activar dicho rol. Dada nuestra configuración, lo primero que ocurrirá es que te pedirá que verifiques tu identidad, a través de MFA.

Haz clic sobre Verify your identity before proceeding, donde tendrás que validar el usuario utilizando un segundo factor de autenticación (si no lo tenías configurado lo harás en este momento). Una vez verificado te preguntará para cuándo lo quieres activar, el tiempo (en este caso lo limitamos a 1 hora durante la configuración del rol), así como la razón por la cual lo quieres activar.

Una vez completado haz clic en Activate y el proceso de activación comenzará.

Es importante que hagas clic en el enlace Sign out y vuelvas a iniciar sesión con el usuario, con el fin de poder obtener los permisos otorgados. A partir de este momento ya serás Global Administrator por una hora. Por otro lado, cuando este proceso ocurre, los administradores de Azure AD PIM pueden recibir, si quieren, una notificación alertando de que se ha activado este rol en concreto y para quién.

Ahora vamos a probar la activación del rol Owner, para los recursos de Azure. En este caso debes acceder al apartado My roles > Azure resources y hacer clic en el enlace Activate del rol Owner.

Como también tengo configurada la opción de MFA, será lo primero que me pida el asistente.

Una vez validado me pedirá el scope sobre el cual quiero operar, la fecha de inicio, el número de horas que necesito el rol y la razón por la cual lo necesito. Sin embargo, una vez rellenes todos los campos y hagas clic sobre Activate comprobarás que en este caso no tendrás adjudicado directamente el rol sino que quedará pendiente de aprobación.

¿Y quién realiza esta aprobación? Si recuerdas, en el apartado de Role settings de Azure resources modificamos la configuración del rol Owner, requiriendo MFA para la activación además de que fuera necesario aprobar la misma. El aprobador que añadiste en dicha configuración es el que ahora debe decidir si la petición de Jaime Lannister es permitida o no. Inicia sesión con tu aprobador, en mi caso Bran Stark 🙂 A este le habrá llegado un correo con la petición de Jaime.

La sección a la que debes dirigirte ahora de Azure AD PIM es Approve requests > Azure resources. En él verás la petición de Jaime y solamente deberás hacer clic y decidir si quieres aprobarla o no.

Si la petición es aprobada Jaime Lannister será el Owner de tu suscripción sólo durante 8 horas.
¡Saludos!