Connecteur Microsoft Identity Manager pour Microsoft Graph

Résumé

Le connecteur Microsoft Identity Manager pour Microsoft Graph active des scénarios d’intégration supplémentaires pour les clients Microsoft Entra ID P1 ou P2. Il apparaît dans les objets supplémentaires de métaverse MIM Sync obtenus à partir des versions v1 et bêta de l’API Microsoft Graph.

Scénarios couverts

Gestion du cycle de vie des comptes B2B

Le premier scénario utilise le connecteur Microsoft Identity Manager pour Microsoft Graph dans le but d’automatiser la gestion du cycle de vie des comptes AD DS des utilisateurs externes. Dans ce scénario, un organization synchronise les employés pour Microsoft Entra ID à partir d’AD DS à l’aide de Microsoft Entra Connect, et a également invité des invités dans leur annuaire Microsoft Entra. L’invitation d’un invité entraîne la place d’un objet utilisateur externe dans le répertoire Microsoft Entra de ce organization, qui n’est pas dans le service AD DS de cette organization. Ensuite, le organization souhaite donner à ces invités l’accès à l’authentification intégrée Windows locale ou aux applications Kerberos, via le proxy d’application Microsoft Entra ou d’autres mécanismes de passerelle. Le proxy d’application Microsoft Entra nécessite que chaque utilisateur dispose de son propre compte AD DS, à des fins d’identification et de délégation.

Pour savoir comment configurer la synchronisation MIM pour créer et gérer automatiquement des comptes AD DS pour les invités, après avoir lu les instructions de cet article, poursuivez la lecture de l’article Microsoft Entra collaboration interentreprises (B2B) avec MIM 2016 et le proxy d’application Microsoft Entra. Cet article aborde les règles de synchronisation nécessaires au connecteur.

Autres scénarios de gestion des identités

Le connecteur peut être utilisé pour d’autres scénarios de gestion des identités spécifiques impliquant la création, la lecture, la mise à jour et la suppression d’objets utilisateur, de groupe et de contact dans Microsoft Entra ID, au-delà de la synchronisation des utilisateurs et des groupes vers Microsoft Entra ID. Lorsque vous évaluez des scénarios potentiels, gardez à l’esprit que ce connecteur ne peut pas être utilisé dans un scénario, ce qui entraînerait un chevauchement de flux de données, un conflit de synchronisation réel ou potentiel avec un déploiement Microsoft Entra Connect. Microsoft Entra Connect est l’approche recommandée pour intégrer des répertoires locaux à des Microsoft Entra ID, en synchronisant les utilisateurs et les groupes des répertoires locaux vers Microsoft Entra ID. Microsoft Entra Connect offre de nombreuses fonctionnalités de synchronisation et permet des scénarios tels que la réécriture du mot de passe et de l’appareil, qui ne sont pas possibles pour les objets créés par MIM. Si des données sont introduites dans AD DS, par exemple, assurez-vous qu’elles sont exclues de Microsoft Entra Connect en essayant de faire correspondre ces objets au répertoire Microsoft Entra. Ce connecteur ne peut pas non plus être utilisé pour apporter des modifications aux objets Microsoft Entra qui ont été créés par Microsoft Entra Connect.

Préparation à l’utilisation du connecteur pour Microsoft Graph

Autorisation du connecteur à récupérer ou gérer des objets dans votre répertoire Microsoft Entra

  1. Le connecteur nécessite qu’une application web/API soit créée dans Microsoft Entra ID, afin qu’elle puisse être autorisée avec les autorisations appropriées pour fonctionner sur des objets Microsoft Entra via Microsoft Graph.

    Image du nouveau bouton d’inscription d’applicationImage de l’inscription de l’application

    Image 1. Nouvelle inscription d’application

  2. Dans le portail Azure, ouvrez l’application créée, puis enregistrez l’ID de l’application comme un ID client afin de l’utiliser plus tard dans la page de connectivité de l’agent de gestion :

    Image des détails de l’inscription de l’application

    Image 2. ID de l'application

  3. Générez une nouvelle clé secrète client en ouvrant Certificats & secrets. Définissez une description de la clé et sélectionnez la durée maximale. Enregistrez les modifications et récupérez la clé secrète client. La valeur de la clé secrète client ne pourra plus être consultée après avoir quitté la page.

    Image du bouton Ajouter un nouveau secret

    Image 3. Nouvelle clé secrète client

  4. Accorder les autorisations « Microsoft Graph » appropriées à l’application en ouvrant « Autorisations d’API »

    Image du bouton Ajouter des autorisations Image 4. Ajouter une nouvelle API

    Sélectionnez Autorisations d’application « Microsoft Graph ». Image des autorisations des applications

    Révoquez toutes les autorisations inutiles.

    Image des autorisations d’applications non accordées

    L’autorisation suivante doit être ajoutée à l’application pour lui permettre d’utiliser l’API Microsoft Graph, en fonction du scénario :

    Opération avec l’objet Autorisation requise Type d'autorisation
    Détection de schéma Application.Read.All Application
    Importer un groupe Group.Read.All ou Group.ReadWrite.All Application
    Importer un utilisateur User.Read.All, User.ReadWrite.All, Directory.Read.All ou Directory.ReadWrite.All Application

    Vous trouverez plus d’informations sur les autorisations requises dans la référence des autorisations.

Notes

L’autorisation Application.Read.All est obligatoire pour la détection de schéma et doit être accordée quel que soit le type d’objet que le connecteur utilisera.

  1. Accordez le consentement de l’administrateur pour les autorisations sélectionnées. Image du consentement administrateur accordé

Installation du connecteur

  1. Avant d’installer le connecteur, vérifiez que vous disposez des éléments suivants sur le serveur de synchronisation :
  • Microsoft .NET 4.6.2 Framework ou version ultérieure
  • Microsoft Identity Manager 2016 SP2 et doit utiliser le correctif logiciel 4.4.1642.0 KB4021562 ou version ultérieure.
  1. Le connecteur pour Microsoft Graph, en plus d’autres connecteurs pour Microsoft Identity Manager 2016 SP2, est disponible en téléchargement à partir du Centre de téléchargement Microsoft.

  2. Redémarrez le service de synchronisation MIM.

Configuration des connecteurs

  1. Dans l’interface utilisateur Synchronization Service Manager, sélectionnez Connecteurs et Créer. Sélectionnez Graph (Microsoft), créez un connecteur et donnez-lui un nom descriptif.

Nouvelle image de connecteur

  1. Dans l’interface utilisateur du service de synchronisation MIM, spécifiez l’ID d’application et la clé secrète client générée. Chaque agent de gestion configuré dans MIM Sync doit avoir sa propre application dans Microsoft Entra ID afin d’éviter d’exécuter l’importation en parallèle pour la même application.

Image des paramètres du connecteur avec les détails de connectivité

Image 5. Page Connectivité

La page Connectivité (Image 5) contient la version de l’API Graph qui est utilisée, ainsi que le nom du locataire. L’ID client et la clé secrète client représentent l’ID d’application et la valeur de clé de l’application qui a été créée précédemment dans Microsoft Entra ID.

Le connecteur utilise par défaut la version 1.0 et les points de terminaison de connexion et de graphe du service global Microsoft Graph. Si votre locataire se trouve dans un cloud national, vous devez modifier votre configuration pour utiliser les points de terminaison du cloud national. Notez que certaines fonctionnalités de Graph qui se trouvent dans le service global peuvent ne pas être disponibles dans tous les clouds nationaux.

  1. Apportez les modifications nécessaires dans la page Paramètres globaux :

Image de la page paramètres globaux

Image 6. Page Paramètres globaux

La page Paramètres globaux comprend les paramètres suivants :

  • Format date et heure : format utilisé pour tout attribut de type Edm.DateTimeOffset. Toutes les dates sont converties en chaîne à l’aide de ce format pendant l’importation. Le format défini est appliqué à tout attribut, qui enregistre une date.

  • Délai d’expiration HTTP (secondes) : délai d’expiration en secondes qui sera utilisé lors de chaque appel HTTP à Graph.

  • Forcer l’utilisateur créé à changer son mot de passe à la prochaine connexion : cette option est utilisée pour les nouveaux utilisateurs créés pendant l’exportation. Si elle est activée, alors la propriété forceChangePasswordNextSignIn a la valeur true, sinon, elle a la valeur false.

Configuration du schéma et des opérations du connecteur

  1. Configurez le schéma. Le connecteur prend en charge la liste suivante de types d’objets lorsqu’il est utilisé avec le point de terminaison Graph v1.0 :
  • Utilisateur

    • Importation complète/différentielle

    • Exportation (ajout, mise à jour, suppression)

  • Grouper

    • Importation complète/différentielle

    • Exportation (ajout, mise à jour, suppression)

Des types d’objets supplémentaires peuvent être visibles lorsque vous configurez le connecteur pour utiliser le point de terminaison graph bêta.

Liste des types d’attributs pris en charge :

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (chaîne dans l’espace connecteur)

  • microsoft.graph.directoryObject (référence dans l’espace connecteur à l’un des objets pris en charge)

  • microsoft.graph.contact

Les attributs à valeurs multiples (collection) sont également pris en charge par tous les types de la liste ci-dessus.

Le connecteur Graph utilise l’attribut « id » pour l’ancre, et un nom unique pour tous les objets. Par conséquent, le renommage n’est pas nécessaire, car API Graph n’autorise pas un objet à modifier son id attribut.

Durée de vie de jeton d’accès

Une application Graph nécessite un jeton d’accès pour accéder à l’API Graph. Un connecteur demande un nouveau jeton d’accès pour chaque itération d’importation (laquelle dépend de la taille de la page). Par exemple :

  • Microsoft Entra ID contient 10000 objets

  • La taille de la page configurée dans le connecteur s’élève à 5 000.

Dans ce cas, il y aura deux itérations pendant l’importation, chacune d’elles retournera 5 000 objets à Sync. Par conséquent, un nouveau jeton d’accès sera demandé deux fois.

Pendant l’exportation, un nouveau jeton d’accès est demandé pour chaque objet à ajouter, mettre à jour ou supprimer.

Filtres de requête

API Graph points de terminaison offrent la possibilité de limiter la quantité d’objets retournés par les requêtes GET en introduisant $filter paramètre.

Pour activer l’utilisation de filtres de requête pour améliorer le cycle de performances d’importation complet, dans la page Schéma 1 des propriétés du connecteur, activez la case à cocher Ajouter un filtre d’objets .

Page paramètres du connecteur une image avec case à cocher Ajouter un filtre d’objets cochée

Après cela, dans la page Schéma 2 , tapez une expression à utiliser pour filtrer les utilisateurs, les groupes, les contacts ou les principaux de service.

Page paramètres du connecteur deux image avec un exemple de filtre startsWith(displayName,'J')

Sur la capture d’écran ci-dessus, le filtre startsWith(displayName,'J') est défini pour lire uniquement les utilisateurs dont la valeur de l’attribut displayName commence par « J ».

Assurez-vous que l’attribut utilisé dans l’expression de filtre est sélectionné dans les propriétés du connecteur.

Image de page paramètres du connecteur avec un attribut displayName sélectionné

Pour plus d’informations sur $filter’utilisation des paramètres de requête, consultez cet article : Utiliser des paramètres de requête pour personnaliser les réponses.

Notes

Le point de terminaison de requête Delta n’offre actuellement pas de fonctionnalités de filtrage. Par conséquent, l’utilisation des filtres est limitée à l’importation complète uniquement. Vous obtiendrez une erreur lors de la tentative de démarrage d’une exécution d’importation delta avec les filtres de requête activés.

Dépannage

Activer les journaux d’activité

En cas de problèmes dans Graph, des journaux servent à les localiser. Ainsi, il est possible d’activer des traces de la même manière que pour les connecteurs génériques. Sinon, vous pouvez ajouter ce qui suit à miiserver.exe.config (dans la section 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>

Notes

Si l’option « Run this management agent in a separate process » (Exécuter cet agent de gestion dans un processus séparé) est activée, dllhost.exe.config doit être utilisé au lieu de miiserver.exe.config.

Erreur liée à l’expiration du jeton d’accès

Le connecteur peut retourner une erreur HTTP 401 non autorisée dont le message indique que le jeton d’accès a expiré :

Image des détails de l’erreur

Image 7. « Le jeton d’accès a expiré. » Erreur

La cause de ce problème peut être liée à la configuration de la durée de vie du jeton d’accès côté Azure. Par défaut, le jeton d’accès expire au bout d’une heure. Pour augmenter le délai d’expiration, consultez cet article.

Exemple avec la préversion publique du module PowerShell Azure AD

Image de durée de vie du jeton d’accès

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

Étapes suivantes