Archivo de la etiqueta: adconnect

Proceso de sincronización. Resolviendo InvalidSoftMatch en ADConnect

El objetivo que me he planteado para este artículo, es explicar a alto nivel el proceso de sincronización, y, una vez establecido el contexto, ver algunos de los errores que podríamos tener, en concreto el tipificado como InvalidSoftMatch. Pero antes de entrar en materia, me gustaría poner un poco de contexto.

¿Qué es ADConnect?

ADConnect es un elemento fundamental en implementaciones de identidad sincronizada o federada con Azure AD (AAD). Nos sirve para poder emplear las credenciales de nuestro directorio local, en servicios proporcionados por Azure AD, y, así, tener una mayor experiencia de integración.

En el core de las aplicaciones que instala, se encuentra el servicio de sincronización. Sin entrar en mucho detalle, esta herramienta, mediante el empleo de ciclos de sincronización regulares, divididos en distintas etapas (Import, Sync y Export), va a realizar una “comparativa” de los elementos que hay en local, con los de Azure, y, realizará las acciones necesarias: creación, actualización, eliminación. Esta “comparativa” la hace empleando los parámetros configurados durante la instalación de ADConnect.

¿Cómo funciona la sincronización?

El proceso de sincronización, permite  establecer una correspondencia entre los elementos que existen en local y los de Azure.  Son necesarios 2 atributos del directorio local para ello :  un atributo para el inicio de sesión, y otro, para identificarlo de forma única o ImmutableId (que permanecerá inalterable a lo largo de la vida del objeto). Los valores empleados  por defecto (aunque no los únicos), son respectivamente el UserPrincipalName y el ObjectGuid.

Durante la sincronización, los objetos son importados , convertidos a un formato  apropiado, y por último provisionados o actualizados en el destino (si hubiera modificaciones).  El objectGUID del usuario de origen es convertido a base 64 y pasará a ser el atributo ImmutableId en AzureAD.

Errores de sincronización

Si bien, en un entorno perfectamente controlado los errores de sincronización no suelen ser frecuentes, puede darse situaciones, en las que nuestro ADConnect reporte algún error al realizar alguna exportación.  Éstos podrán visualizarse en la pantalla de operaciones del administrador de sincronización, y para poder analizarlos y solventarlos, tendremos que acceder a cada uno de ellos.

Entre los errores que podemos encontrar figuran: ObjectTypeMismatch, AttributeMustBeUnique, InvalidSoftMach entre otros. Nos centraremos en el error InvalidSoftMatch.

Error InvalidSoftMatch

Este error aparece porque hay una incoherencia en el atributo ImmutableId. Si un usuario está correctamente sincronizado su UserPrincipalName y su inmutableId (en AD y AAD) deben ser el mismo. En este caso, el UserprincipalName coincide, pero no el ImmutableId, y,  por tanto, no se puede realizar una correspondencia con ese usuario. Este error puede producirse cuando un objecto de ADD ya está sincronizado, y, en el directorio de origen se elimina ese objeto y se crea otro con las mismas propiedades.  Al crear un nuevo objecto, se generará un nuevo GUID, que no coincidirá con el de AAD.

Para poder solucionar este error, debemos hacer un “Hard Match” o macheo manual, que consiste en cambiar el ImmutableId del  usuario de AAD, por el correcto del directorio local.  Previamente nos tenemos que conectar a O365 con usuario administrador global del tenant.

Como último comentario, indicar,  que si nuestro dominio está federado, necesitaremos previamente cambiar el UPN por el de un dominio no federado para machearlo, y a continuación establecer el upn correcto.

¡Hasta el próximo post! 🙂

 

Problemas federando dominio con Azure ADConnect

Desde hace ya algún tiempo Azure ADConnect ha pasado de ser un producto preview , a sustituir definitivamente a DirSync, como instrumento para integrar y sincronizar identidades onpremise con Azure AD. Aunque ambas aplicaciones (DirSync y ADConnect), se basan en FIM 2010, esta última no sólo se ha dedicado a la sincronización de directorios (ampliándola con más opciones ), sino que ha incrementado su potencia añadiendo otros componentes.  Quizá, debido a esta complejidad derivada de ser una herramienta multipropósito, puede ser más difícil acotar y depurar errores.

Para poder emplear ADConnect -una vez realizados los pasos previos necesarios en Azure- debemos descargarla e instalarla en una de las máquinas pertenecientes a nuestro dominio. El instalable es un asistente que nos guiará en todo momento. Todo esto nos facilita mucho el trabajo, convirtiéndolo en una mera sucesión de pantallas, en las que únicamente tendremos que pulsar el botón siguiente y completar los datos. Pero, ¿qué pasa si el programa falla o nos da error?

Dependiendo del punto donde esto suceda, el asistente nos ofrecerá una serie de recomendaciones. Si el fallo no se subsana, es posible que nos aconseje la desinstalación total del producto, y proceder a instalarlo nuevamente. Pero, esto no nos garantiza que el fallo vuelva a aparecer en la siguiente ejecución. Por todo ello, quizá antes de prender fuego a todo y volver a empezar de cero, es bueno que nos paremos un momento y recapacitemos.

CASO PRÁCTICO

Dicho todo esto vamos a poner un caso práctico: tenemos un dominio con nuestro DC,  ADFS, etc que queremos federar con Azure;  para hacerlo empleamos Azure ADConnect. Lanzamos el ejecutable y casi al final de la configuración nos falla con el error que podemos ver en pantalla:

000AD-Connect

Hemos revisado toda la configuración y parece que todo está correcto. Así que procedemos a reintentar la ejecución, pero sigue fallando. Nos fijamos en qué hay un log en el que podemos revisar todos y cada uno de los pasos realizados. Examinando el log en detalle, observamos que lo que hay detrás son comandos de PowerShell. En concreto, vemos que aunque el asistente ha validado los DNS no ha terminado de verificarlos, con lo que no es posible validar correctamente el dominio. Para solventarlo, abrimos una consola de Powershell Azure AD, nos conectamos a nuestra suscripción y ejecutamos:

Comprobamos que las entradas DNS son las correctas, pulsamos “Retry”, y voilà la configuración se puede completar correctamente.

Como conclusión después de todo lo anterior, es que para poder diagnosticar de forma adecuada es importante conocer su mecánica de funcionamiento. ¡Un saludo y hasta la próxima! Smile