Conector de Microsoft Identity Manager para Microsoft Graph

Resumen

El conector de Microsoft Identity Manager para Microsoft Graph permite escenarios de integración adicionales para clientes Microsoft Entra ID P1 o P2. Se expone en los objetos adicionales del metaverso de sincronización de MIM obtenidos de la Microsoft Graph API v1 y beta.

Escenarios descritos

Administración del ciclo de vida cuentas de B2B

El escenario inicial para el conector de Microsoft Identity Manager para Microsoft Graph es como un conector para ayudar a automatizar la administración de ciclo de vida de cuentas de AD DS para usuarios externos. En este escenario, una organización sincroniza a los empleados con Microsoft Entra ID desde AD DS mediante Microsoft Entra Connect y también ha invitado a los invitados a su directorio Microsoft Entra. La invitación a un invitado da como resultado que un objeto de usuario externo esté en el directorio Microsoft Entra de esa organización, que no está en AD DS de esa organización. A continuación, la organización quiere conceder a esos invitados acceso a la autenticación integrada de Windows local o a las aplicaciones basadas en Kerberos, a través del proxy de aplicación Microsoft Entra u otros mecanismos de puerta de enlace. El proxy de aplicación Microsoft Entra requiere que cada usuario tenga su propia cuenta de AD DS, con fines de identificación y delegación.

Para aprender a configurar la sincronización de MIM para crear y mantener automáticamente cuentas de AD DS para invitados, después de leer las instrucciones de este artículo, continúe leyendo en el artículo Microsoft Entra colaboración de negocio a negocio (B2B) con MIM 2016 y el proxy de aplicación Microsoft Entra. Ese artículo muestra las reglas de sincronización necesarias para el conector.

Otros escenarios de administración de identidad

El conector se puede usar para otros escenarios específicos de administración de identidades que implican la creación, lectura, actualización y eliminación de objetos de usuario, grupo y contacto en Microsoft Entra ID, más allá de la sincronización de usuarios y grupos para Microsoft Entra ID. Al evaluar posibles escenarios, tenga en cuenta: este conector no se puede operar en un escenario, lo que provocaría que un flujo de datos se superponga, se superponga, se produzca un conflicto de sincronización real o potencial con una implementación de Microsoft Entra Connect. Microsoft Entra Connect es el enfoque recomendado para integrar directorios locales con Microsoft Entra ID, mediante la sincronización de usuarios y grupos desde directorios locales a Microsoft Entra ID. Microsoft Entra Connect tiene muchas más características de sincronización y permite escenarios como la escritura diferida de contraseñas y dispositivos, que no son posibles para los objetos creados por MIM. Si los datos se introducen en AD DS, por ejemplo, asegúrese de que se excluye de Microsoft Entra Connect intentando hacer coincidir esos objetos con el directorio Microsoft Entra. Tampoco se puede usar este conector para realizar cambios en Microsoft Entra objetos, creados por Microsoft Entra Connect.

Preparación para usar el conector para Microsoft Graph

Autorización del conector para recuperar o administrar objetos en el directorio Microsoft Entra

  1. El conector requiere que se cree una aplicación web o una aplicación de API en Microsoft Entra ID, de modo que se pueda autorizar con los permisos adecuados para operar en Microsoft Entra objetos a través de Microsoft Graph.

    Imagen del botón nuevo registro de aplicaciónImagen del registro de aplicación

    Imagen 1. Nuevo registro de aplicaciones

  2. En Azure Portal, abra la aplicación creada y guarde el identificador de aplicación como un identificador de cliente para usar más adelante en la página de conectividad del agente de administración:

    Imagen de los detalles del registro de aplicaciones

    Imagen 2. Identificador de aplicación

  3. Para generar un nuevo secreto de cliente, abra Certificados & secretos. Establezca una descripción de clave y seleccione la duración máxima. Guarde los cambios y recupere el secreto de cliente. El valor del secreto de cliente no estará disponible para verlo de nuevo después de salir de la página.

    Imagen del botón Agregar nuevo secreto

    Imagen 3. Nuevo secreto de cliente

  4. Conceda permisos "Microsoft Graph" adecuados a la aplicación abriendo "Permisos de API".

    Imagen del botón Agregar permisos Imagen 4. Add new API

    Seleccione "Microsoft Graph" Permisos de aplicación. Imagen de permisos de aplicaciones

    Revocar todos los permisos innecesarios.

    Imagen de permisos de aplicaciones no concedidos

    El siguiente permiso debe agregarse a la aplicación para que pueda usar la “API de Microsoft Graph”, según el escenario:

    Operación con objeto Permiso necesario Tipo de permiso
    Detección de esquemas Application.Read.All Application
    Importar grupo Group.Read.All o Group.ReadWrite.All Application
    Importar usuario User.Read.All, User.ReadWrite.All, Directory.Read.All o Directory.ReadWrite.All Application

    Puede encontrar más detalles sobre los permisos necesarios en la referencia de permisos.

Nota

El permiso Application.Read.All es obligatorio para la detección de esquemas y se debe conceder independientemente del conector de tipo de objeto con el que trabaje.

  1. Conceda el consentimiento del administrador para los permisos seleccionados. Imagen del consentimiento del administrador concedido

Instalación del conector

  1. Antes de instalar el conector, asegúrese de que tiene los siguientes elementos en el servidor de sincronización:
  • Microsoft .NET 4.6.2 Framework o posterior
  • Microsoft Identity Manager 2016 SP2 y debe usar la revisión 4.4.1642.0 KB4021562 o posterior.
  1. El conector de Microsoft Graph, además de otros conectores para Microsoft Identity Manager 2016 SP2, está disponible como descarga desde el Centro de descarga de Microsoft.

  2. Reinicie el servicio de sincronización de MIM.

Configuración del conector

  1. En la interfaz de usuario de Synchronization Service Manager, seleccione Conectores y Crear. Seleccione Graph (Microsoft), cree un conector y asígnele un nombre descriptivo.

Nueva imagen del conector

  1. En la interfaz de usuario del servicio de sincronización de MIM, especifique el identificador de aplicación y el secreto de cliente generado. Cada agente de administración configurado en la sincronización de MIM debe tener su propia aplicación en Microsoft Entra ID para evitar ejecutar la importación en paralelo para la misma aplicación.

Imagen de configuración del conector con detalles de conectividad

Imagen 5. Página Conectividad

La página Conectividad (imagen 5) contiene la versión de Graph API que se usa y el nombre del inquilino. El identificador de cliente y el secreto de cliente representan el identificador de aplicación y el valor de clave de la aplicación que se creó anteriormente en Microsoft Entra ID.

El conector tiene como valor predeterminado la versión 1.0 y los puntos de conexión de inicio de sesión y grafo del servicio global de Microsoft Graph. Si el inquilino está en una nube nacional, deberá cambiar la configuración para usar los puntos de conexión para la nube nacional. Tenga en cuenta que es posible que ciertas características de Graph que se encuentran en el servicio global no estén disponibles en todas las nubes nacionales.

  1. Realice los cambios necesarios en la página Parámetros globales:

Imagen de página de parámetros globales

Imagen 6. Página Parámetros globales

La página Parámetros globales contiene las siguientes opciones:

  • Formato de fecha y hora: formato que se utiliza para cualquier atributo con el tipo Edm.DateTimeOffset. Todas las fechas se convierten en cadenas mediante ese formato durante la importación. El formato de conjunto se aplica a cualquier atributo, lo que evita la fecha.

  • Tiempo de espera HTTP (segundos): tiempo de espera en segundos que se usará durante cada llamada HTTP a Graph.

  • Obliga a cambiar la contraseña del usuario que se cree en el próximo inicio de sesión: esta opción se utiliza para el nuevo usuario que se va a crear durante la exportación. Si la opción está habilitada, la propiedad forceChangePasswordNextSignIn se establecerá en true; en caso contrario, será false.

Configuración de las operaciones y el esquema del conector

  1. Configure el esquema. El conector admite la siguiente lista de tipos de objetos cuando se usa con el punto de conexión de Graph v1.0:
  • Usuario

    • Importación completa o diferencial

    • Exportación (agregar, actualizar y eliminar)

  • Grupo

    • Importación completa o diferencial

    • Exportación (agregar, actualizar y eliminar)

Es posible que los tipos de objeto adicionales estén visibles al configurar el conector para usar el punto de conexión beta de Graph.

Lista de tipos de atributo que se admiten:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (cadena en el espacio conector)

  • microsoft.graph.directoryObject (referencia en el espacio conector a cualquiera de los objetos admitidos)

  • microsoft.graph.contact

También se admiten atributos con varios valores (colección) para cualquier tipo de formulario de la lista anterior.

El conector usa atributo “id” para el delimitador y DN para todos los objetos. Por lo tanto, no es necesario cambiar el nombre porque Graph API no permite que un objeto cambie su id atributo.

Vigencia del token de acceso

Una aplicación de Graph requiere un token de acceso para tener acceso a la Graph API. Un conector solicitará un nuevo token de acceso para cada iteración de importación (la iteración de importación depende del tamaño de página). Por ejemplo:

  • Microsoft Entra ID contiene 10000 objetos

  • El tamaño de página configurado en el conector es 5000.

En este caso, habrá dos iteraciones durante la importación, cada una de ellas devolverá 5000 objetos a Sync. Por lo tanto, se solicitará dos veces un nuevo token de acceso.

Durante la exportación se solicitará un nuevo token de acceso para cada objeto que se deba agregar, actualizar o eliminar.

Filtros de consulta

Graph API puntos de conexión ofrecen una capacidad para limitar la cantidad de objetos devueltos por las consultas GET mediante la introducción del parámetro $filter.

Para habilitar el uso de filtros de consulta para mejorar el ciclo de rendimiento de importación completo, en la página Esquema 1 de propiedades del conector, active la casilla Agregar filtro de objetos .

Página de configuración del conector una imagen con la casilla Agregar filtro de objetos activada

Después, en la página Esquema 2 , escriba una expresión que se usará para filtrar usuarios, grupos, contactos o entidades de servicio.

Página de configuración del conector dos imágenes con un filtro de ejemplo startsWith(displayName,'J')

En la captura de pantalla anterior, el filtro startsWith(displayName,'J') se establece en solo lectura de los usuarios cuyo valor de atributo displayName comienza por "J".

Asegúrese de que el atributo usado en la expresión de filtro está seleccionado en las propiedades del conector.

Imagen de página de configuración del conector con un atributo displayName seleccionado

Para obtener más información sobre $filter uso de parámetros de consulta, consulte este artículo: Uso de parámetros de consulta para personalizar las respuestas.

Nota

Actualmente, el punto de conexión de consulta delta no ofrece funcionalidades de filtrado, por lo que el uso de filtros se limita solo a la importación completa. Recibirá un error al intentar iniciar la ejecución de importación diferencial con los filtros de consulta habilitados.

Solución de problemas

Habilitamiento de registros

Si hay algún problema en Graph, pueden usarse los registros para localizar el problema. Por lo que pueden habilitarse seguimientos de la misma manera que para los conectores genéricos. O simplemente agregando lo siguiente a miiserver.exe.config (dentro de la sección system.diagnostics/sources):

<source name="ConnectorsLog" switchValue="Verbose">
<listeners>
<add initializeData="ConnectorsLog"
type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ConnectorsLogListener" traceOutputOptions="LogicalOperationStack,
DateTime, Timestamp, Callstack" />
<remove name="Default" />
</listeners>
</source>

Nota

Si la opción “Ejecutar este agente de administración en un proceso independiente” está habilitada, dllhost.exe.config debe usarse en lugar de miiserver.exe.config.

Error de token de acceso expirado

El conector podría devolver el error HTTP 401 No autorizado, mensaje "Access token has expired." (El token de acceso expiró.):

Imagen de detalles del error

Imagen 7. "Access token has expired". (El token de acceso expiró.) Error

La causa de este problema podría ser la configuración de duración del token de acceso desde Azure. De forma predeterminada, el token de acceso expira después de una hora. Para aumentar el tiempo de expiración, consulte este artículo.

Ejemplo de esto mediante el uso de la versión preliminar pública del módulo de Azure AD para PowerShell.

Imagen de vigencia del token acces

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

Pasos siguientes