Ir al contenido principal

Como modificar atributos de exchange online para grupos sincronizados con Azure AD sync sin tener que instalar un exchange local. El poder del editor de reglas de sincronización.


   Y seguimos a vueltas con la implementación de AD connect que estoy realizando ahora. Curiosamente, esta debería ser la mas sencilla de las tres que he tenido que llevo en total, ya que al ser una startup, Office365 ha sido su primer y único proveedor de correo y lo único que querían, era sincronizar las contraseñas. Fácil, ¿no? Pues no.

   Durante las pruebas iniciales, comencé sincronizando a los usuarios de mi departamento, así como una serie de grupos de la nueva estructura/nomenclatura que estoy implantando en el AD local. Una vez solucionado el único fallo que había tenido en la implantación (podéis saber más aquí), había considerado cerrada ya la parte de configuración y me disponía a migrar el resto de departamentos. En ese momento, mi jefe me llamo y me explico que estaba había accedido al portal de Exchange online para echarle un vistazo a algunas configuraciones de los grupos y no podía hacer algunas operaciones. En concreto, estaba intentando modificar las delivery restrictions de los nuevos grupos globales que se habían sincronizado. Una de las opciones nuevas que estoy implantando con la nueva estructura es el uso de grupos globales como shadow groups de departamento que además se pueden usar como grupos de distribución (ya escribiré un post sobre como se hace). El caso es que estaba intentando cambiar la opción por defecto de las delivery restrictions (que se pueda enviar correos desde cuentas internas y externas), para que solo los puedan usar nuestros usuarios. Y no le dejaba:

image
image
   Como podéis ver en el mensaje de error, al ser un objeto controlado por el AD local, todos los cambios deben hacerse en este. Bien, tiene sentido. Lo que no tiene mucho sentido, es lo que viene a continuación. Después de investigar, resulta que al no haber tenido nunca un Exchange instalado en nuestra red, los objetos de grupo de nuestro esquema de AD, no tienen los campos necesarios para controlar estas opciones, lo cual, nos deja básicamente con dos opciones. La primera, consiste en extender el esquema de AD como si fuéramos a instalar Exchange pero sin instalarlo, y después, modificar a mano los campos necesarios en todos los grupos que queramos modificar, bien usando ADSIEDIT o powershell. Ingenioso, pero no esta soportado por Microsoft. Lo cual nos deja la segunda opción, que si esta soportada y recomendada por Microsoft, que consiste en desplegar un entorno hibrido de Exchange. Ahí es nada. Para modificar unas cuantas opciones de unos grupos, tengo que instalar un entorno de Exchange on-premise (gracias Microsoft). Al menos te “regalan” la licencia de Exchange (gracias otra vez ¬__¬). Podéis encontrar más información sobre todo este tema en este post.

image

   El caso, es que instalar un servidor de Exchange para hacer algo tan simple no me convence, así que he buscado una tercera opción. Mi idea, consiste en usar las reglas de mapeo de campos de la sincronización de azure AD connect para variar los campos que necesito durante las sincronizaciones. Y para que se entienda bien lo que voy a hacer, aquí viene un poco de teoría.

   Azure AD connect no es ni mas ni menos que un gestor de identidades diseñado específicamente para sincronizar directorios locales con Azure. Básicamente su funcionamiento esquemático es el siguiente:
image

   Y sus componentes principales son los siguientes:

   · Conectores: Los conectores definen los directorios a los que se conecta Azure AD connect para realizar la sincronización de los campos, así como toda su configuración (esquema, campos a sincronizar, opciones de bind, etc.). El conector que hace referencia a Azure es el contiene onmicrosoft.

    · Metaverso: El metaverso es un directorio que en su esquema contiene todos los objetos y todos los campos de cada directorio al que Azure AD Connect está conectado. Se utiliza como almacén intermedio durante las tareas de sincronización entre conectores.

    · Reglas de sincronización: Las reglas de sincronización en Azure AD connect se usan para establecer y controlar el mapeo entre los distintos campos de los distintos objetos de los distintos conectores y el metaverso. Hay una regla por cada objeto de cada director y cada dirección (inbound o Outbound) y en cada una de esas reglas, se define como se va a hacer la sincronización de cada uno de los campos del objeto.

    En general, la sincronización de un directorio a otro se realiza siempre en dos pasos. Primero se sincronizan los cambios de los objetos del directorio de origen con el metaverso y después se sincronizan los cambios desde el metaverso al directorio de destino. Estas sincronizaciones pueden ser completas (normalmente la primera vez) o deltas (sincronizaciones parciales, que son las habituales). No todos los campos tienen porque estar incluidos en las sincronizaciones, por ejemplo, en la sincronización del AD local al metaverso, solo se sincronizan los campos que existan en el AD local, y los que existen en el metaverso, pero no en el AD local, no se sincronizan:

image

   Como ya habréis podido adivinar, nosotros vamos a modificar la regla de sincronización, del objeto grupo desde el metaverso a Azure AD (regla tipo outgoing, conector onmicrosoft) y forzaremos el campo “MsExchRequireAuthToSendTo” a true, ya que este es campo que controla el comportamiento de las restricciones de envío.

   Y después de toda esta teoría, vamos al fregao. Estos son los pasos para realizar la modificación de la regla:

   Ejecutamos el Azure Syncronization rules editor:
image
   Seleccionamos las siguientes opciones para filtrar la regla que queremos:

- Direction: Outbound

- Connector: dominio.onmicrosoft.com

- Connector object type: Group

- Connector Attribute: msExchangeRequireAuthToSendTo

image
 
   Si lo hemos hecho bien, solo aparecerá una regla, que es la que tenemos que modificar:

image

   La seleccionamos y pulsamos el botón edit. A continuación, nos aparecerá un cuadro de dialogo indicándonos que, al ser una regla por defecto, para modificarla se recomienda crear una copia. En mi caso no lo he hecho, así que seleccioné no. Vosotros podéis elegir la opción que queráis. Si pulsáis yes, la regla original se deshabilita por defecto.

image

   En el cuadro de edición de la regla, seleccionamos directamente la opción transformations

image

   Después buscamos el campo que queremos modificar en la lista de campos y cambiamos el tipo de Flow a Constant y el Source a True para forzar el valor. Por último, dejamos el merge type en update para asegurarnos de que solo haga el cambio cuando sea necesario y no en cada sincronización.

image

   Una vez hecho lo anterior, salvamos las modificaciones y salimos del editor. Para comprobar que los cambios que hemos hecho funcionan correctamente, podéis esperar a la siguiente sincronización o forzar una:

image

   El parámetro policytype acepta Initial y delta (initial para sincronizar todos los objetos del directorio y delta para sincronizar solo los cambios). Creo que las dos son validas para lo que queremos probar, pero yo he usado initial porque aún tengo pocos objetos para sincronizar y no hay casi diferencia en tiempo.

image

   Ahora comprobamos en el synchronization service Manager que la sincronización haya finalizado:

image
image

   Como veis en el cuadro anterior, entre otras cosas se nos indica que para el objeto anterior (grupo), se va a modificar el atributo msExchangeRequireAuthToSendTo con el valor true con una modificación de tipo add (lo que significa que no existía anteriormente).

   Por último, nos conectaremos al portal de Exchange online y podremos comprobar, que las delivery options se han modificado correctamente:

image

   Como podéis ver, esta una opción más cómoda para configurar el comportamiento por defecto de los campos que existen en Azure AD pero no existen en el directorio activo local que instalar un Exchange nuevo on site. Además, con un poco de trabajo extra, podríamos usar la opción de scoping filter de las reglas para crear excepciones a estas configuraciones por defecto.

   Y poco más que añadir. Si habéis llegado hasta aquí, enhorabuena, menudo tostón os habéis tragado. Nos vemos en la siguiente!

Un saludo.

Comentarios

Entradas populares de este blog

Error id 12294, La base de datos SAM no pudo bloquear la cuenta de administrador...

Últimamente hemos estado teniendo un problema de esos que a todo administrador de sistemas le trae de cabeza... Al menos hasta que lo ha solucionado una vez. Para aquellos de vosotros que habéis llegado hasta aqui después de toparos con el en vuestro trabajo diario y no sabeis muy bien que hacer, voy a indicaros paso por paso como solucionarlo. El error consiste en el intento reptitivo de bloqueo de la cuenta de Administrador del dominio por parte de una maquina del dominio. Estos errores se generan en el registro de eventos de sistema con el id 12294 y con origen Directory-Services-SAM si es Windows 2008 o SAM si es Windows 2003 o anterior. El error en si no aunque parece grave, no debe preocuparnos tanto, ya que la cuenta de administrador de dominio nunca se bloquea. Lo que si nos molestara mas, es el hecho de que estos errores saturan nuestro log de eventos de sistema, así como el registro de seguridad del DC. El problema que nos encontramos cuando intentamos

Solucionar Error 8344 “Insufficient access rights to perform the operation.” En Azure AD connect

Ayer termine de instalar y configurar Azure AD connect. Para los que no lo sepáis, Azure AD connect es el programa que se utiliza para sincronizar objetos de tu directorio activo local con el directorio activo de azure. Podéis acceder a la estupenda documentación de Microsoft aquí. El caso es que después de terminar la configuración, estuve repasando que las primeras sincronizaciones fueran correctas cuando vi que aparecía una tarea con errores en Azure AD sync service. El fallo era el siguiente: Como podéis ver, esta tarea de export, que ya os voy diciendo que era una sincronización de contraseñas, falla por un problema de permisos. La verdad es que era un poco confuso, ya que había seguido la documentación de Microsoft para la implementación al pie de la letra y cumplido todos los prerrequisitos. ¿Se me escapaba algo? Al final, la respuesta era bastante sencilla. Este directorio activo no lo desplegué yo, así que hay algunas cosillas “heredadas”. Una de ellas es que una Unidad Organi

DNS y reenviadores condicionales...

Resulta que estamos migrando a Windows 2008 R2 para poder poner GPOs personalizadas por OU, y el otro día nos surgió un problemilla relacionado con los reenviadores condicionales del servicio DNS en 2008 (anteriormente, los teníamos en 2003 R2). Se nos paso configurar el reenvío de las peticiones de nuestro subdominio principal a nuestro dominio raíz, lo cual, teníamos hecho mediante el uso de reenviadores condicionales. Entramos en el nuevo servidor DNS para configurarlos y @_@ ¡¡no estaban!! Resulta que los amigos de Microsoft han cambiado las pestañas de opciones del servidor DNS y las han dejado así: Como podéis ver, el reenvío de peticiones basado en sufijo, ha desaparecido. Aparentemente solo se permite el reenvío global de peticiones, ¿no? Bueno, pues no, solo lo han cambiado de sitio. Con Windows 2003, cuando querías configurar el reenvío de peticiones DNS basado en dominio, tenias que hacerlo servidor por servidor, ya que la pestaña correspondiente, se encontraba dent