Muchas veces nos encontramos con que el cliente del proyecto en el que estamos utiliza Azure para la gestión global de todos sus usuarios, por lo que nos vemos obligados a utilizar Azure como IDP para GCP, activando la sincronización de usuarios y Single Sign On contra Azure.

Por eso, en este post nos centraremos en la configuración del aprovisionamiento automático de usuarios de Azure en GCP utilizando Google Cloud / G Suite Connector suministrado por Microsoft.

Consideraciones sobre la sincronización con Azure

La sincronización de usuarios de Azure a GCP se puede hacer de dos formas; la elección de una u otra depende de si para la gestión de usuarios en Azure se está usando Azure AD o si bien se usa un AD on premise. En este post, hablaremos de la sincronización contra Azure AD.

Hay que tener en cuenta la existencia de Azure de dos tipos de usuarios distintos:

Para la sincronización de los usuarios usaremos Google Cloud / G Suite Connector disponible en Azure.

Prerrequisitos previos a comenzar con la configuración

Antes de lanzarnos a configurar los conectores, y habiendo tenido en cuenta las consideraciones del punto anterior, necesitaremos:

Manos a la obra

Usaremos dos G Suite Connector distintos: uno, dedicado a la sincronización de los usuarios internos; y otro, para los usuarios externos, puesto que cada uno se sincronizará en base a un atributo distinto.

Sincronización de usuarios internos:

A través de Azure AD -> Enterprise applications -> Añadir, instalaremos el conector seleccionandolo del marketplace:

Azure a GCP 1

Después en AzureAD -> Enterprise Applications, seleccionaremos el conector y pinchamos en properties. Aquí tendremos opción de añadir un nombre más descriptivo al conector, por lo demás las opciones deben quedar como aparecen en la imagen:

Azure a GCP 2

En el menú de la derecha seleccionaremos Users and Groups y seleccionamos los usuarios o grupo de usuarios que entrarán en la sincronización (posteriormente, se filtrarán mediante scopes).

Azure a GCP 3

Tras esto, seleccionamos en el menú de la izquierda Provisioning -> Edit provisioning y nos aparecerá una pantalla como la siguiente:

Azure a GCP 4

Seleccionamos el desplegable de Admin Credentials e introducimos las credenciales del usuario de Cloud Identity con permisos para realizar la sincronización.

Azure a GCP 5

Testeamos la conexión para ver que funciona correctamente.

A continuación, en la misma pantalla seleccionaremos el desplegable de Mappings -> Provision Azure Active Directory Users -> Source Object Scope y seleccionaremos Añadir filtro.

En este paso configuraremos un scope para los usuarios seleccionados en pasos anteriores.

En Azure los usuarios externos llevan en su atributo originalUserPrincipalName la cadena #EXT#@, al añadir este scope filtramos por esa cadena para asegurarnos que solo se sincronicen los usuarios que no la lleven; es decir, los usuarios internos.

Para ello dejaremos el scope como aparece a continuación:

Azure a GCP 6

Como último paso, volveremos a AzureAD -> Enterprise Applications, seleccionaremos nuestro conector -> Provisioning y activaremos la sincronización.

Azure a GCP 7

En este momento, la sincronización comenzará y al cabo de unos minutos nos indicará la cantidad de usuarios que han sido sincronizados con Cloud Identity.

Sincronización de usuarios externos (B2B)

En la sincronización de usuarios externos existe el problema de que el dominio de mail de estos usuarios es del tipo nombreempresa.onmicrosoft.com y no se corresponde con un dominio dado de alta en Cloud Identity, por lo que utilizaremos un scope filtrándolos por el campo originalUserPrincipalName y la cadena #EXT#@ (que solo contienen los usuarios externos) y después reescribiremos el dominio a uno elegido por nosotros.

El proceso sería el siguiente:

Usaremos un nuevo conector dedicado a estos usuarios, lo instalaremos y configuraremos su propiedades como en el conector desplegado anteriormente.

A diferencia del anterior en el parte de definición de scope, seleccionaremos todos los usuarios cuyo originalUserPrincipalName contenga la cadena #EXT#, el regex a aplicar puede observarse en la siguiente captura.

Azure a GCP 8

Ahora que hemos añadido el scope para sincronizar solo los usuarios externos, vamos a reescribir su dominio de mail para añadirlos a uno elegido por nosotros.

Vamos a AzureAD -> Enterprise applications -> Seleccionamos el conector para usuarios externos -> Provisioning -> Edit Provisioning -> Mapping -> Provision Azure Active Directory Users.

En la parte de Attribute mappings pinchamos sobre la primera fila que tendrá el siguiente aspecto:

Nos aparecerá una ventana en la parte derecha y cambiaremos los parámetros para dejarlos como en la imagen:

Azure a GCP 9

Con esta expresión reescribiremos el dominio original del usuario (dominioempresa.onmicrosoft.com) al dominio creado en Cloud Identity (dominioelegido.com).

Después pinchamos en Ok, Salvar y activaremos la sincronización.

Notas finales sobre el funcionamiento de la sincronización

Conclusión

Como hemos visto, la configuración del aprovisionamiento de usuarios en GCP contra Azure no es para nada complicada. Tenemos que recordar que una vez esté configurada esta sincronización, los usuarios todavía no podrían logarse, para ello será necesario configurar el SSO contra Azure AD, pero este tema lo trataremos en el siguiente post.

Bibliografía

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.