Partager via


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 fait apparaître dans le métavers MIM sync des objets supplémentaires obtenus à partir de l'API Microsoft Graph v1 et bêta.

Scénarios couverts

Gestion du cycle de vie des comptes B2B

Le scénario initial du connecteur Microsoft Identity Manager pour Microsoft Graph est un connecteur qui permet d’automatiser la gestion du cycle de vie des comptes AD DS pour les utilisateurs externes. Dans ce scénario, une organisation synchronise les employés avec l’ID Microsoft Entra à 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 l’utilisation d’un objet utilisateur externe dans l’annuaire Microsoft Entra de cette organisation, qui n'apparaît pas dans l'AD DS de cette organisation. Ensuite, l’organisation 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 exige 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 dans l’article Collaboration Microsoft Entra business-to-business (B2B) avec MIM 2016 et le proxy d’application Microsoft Entra. Cet article illustre les règles de synchronisation nécessaires pour le 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 avec l’ID Microsoft Entra. Lors de l’évaluation de scénarios potentiels, gardez à l’esprit : 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 à l’ID Microsoft Entra, en synchronisant les utilisateurs et les groupes des répertoires locaux vers l’ID Microsoft Entra. Microsoft Entra Connect offre de nombreuses fonctionnalités de synchronisation supplémentaires et active 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 qui tentent de faire correspondre ces objets au répertoire Microsoft Entra. Ce connecteur ne peut pas ê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 pour récupérer ou gérer des objets dans votre répertoire Microsoft Entra

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

    image Image du bouton d'enregistrement de la nouvelle applicationImage de l'enregistrement de la demande

    Image 1. Nouvel enregistrement d'application

  2. Dans le portail Azure, ouvrez l’application créée et enregistrez l’ID d’application, en tant qu’ID client à utiliser ultérieurement dans la page de connectivité du ma :

  3. Générez un nouveau secret client en ouvrant les certificats & secrets. Définissez une description de clé et sélectionnez la durée maximale. Enregistrez les modifications et récupérez le secret client. La valeur du secret client ne sera pas à nouveau disponible pour consultation après avoir quitté la page.

    Image de l’ajout d’un nouveau bouton secret

    Image 2. Nouveau secret client

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

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

    Sélectionnez autorisations d’application « Microsoft Graph ». image Image des permissions de l'application

    Révoquez toutes les autorisations inutiles.

    Image des autorisations non accordées des applications Image des permissions non accordées pour les applications

    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 un 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 .

Remarque

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

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

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 des autres connecteurs pour Microsoft Identity Management 2016 SP2, est disponible en téléchargement depuis le Centre de téléchargement Microsoft.

  2. Redémarrez le service de synchronisation MIM.

Configuration du connecteur

  1. Dans l’interface Synchronization Service Manager, cliquez sur Connecteurs, puis sur 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 pour éviter d’exécuter l’importation en parallèle pour la même application.

Image 4. Page de la Connectivité

La page de connectivité (Image 4) contient la version de l’API Graph utilisée et le nom du locataire. L’ID client et la clé secrète client représentent l’ID d’application et la valeur clé de l’application créée précédemment dans l’ID Microsoft Entra.

Le connecteur utilise par défaut la v1.0 et les points de terminaison de connexion et de graph 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 pour le 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 sur la page Paramètres globaux :

Image de la page des Paramètres globaux

Image 5. Page Paramètres globaux

La page paramètres globaux contient les paramètres suivants :

  • Format DateTime : format utilisé pour n’importe quel attribut avec le 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é à n’importe quel attribut, qui enregistre la date.

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

  • Forcer le changement de mot de passe de l'utilisateur créé à la prochaine connexion : cette option est utilisée pour un nouvel utilisateur qui sera créé pendant l'export. Si l’option est activée, forceChangePasswordNextSignIn propriété est définie sur true, sinon elle est 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/delta

    • Exporter (Ajouter, Mettre à jour, Supprimer)

  • Groupe

    • Importation complète/delta

    • Exporter (Ajouter, Mettre à jour, Supprimer)

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

Liste des types d’attributs pris en charge :

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (chaîne de caractères dans l'espace du 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 pour n'importe quel type de la liste ci-dessus.

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

Durée de vie des jetons 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 (l’itération d’importation dépend de la taille de page). Par exemple:

  • Microsoft Entra ID contient 1 000 objets

  • La taille de page configurée dans le connecteur est 5 000

Dans ce cas, il y aura deux itérations pendant l’importation, chacun d’eux retourne 5000 objets à Synchroniser. 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 qui doit être ajouté/mis à jour/supprimé.

Filtres de requête

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

Afin de permettre l'utilisation de filtres de requête pour améliorer le cycle de performance de l'importation complète, sur la page Schema 1 des propriétés du connecteur, activez la case à cocher Filtre d'ajout d'objets.

Image de la première page des paramètres du connecteur avec la case Ajouter un filtre d'objets cochée

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

Image de la page deux des paramètres du connecteur avec un exemple de filtre startsWith(displayName, 'J')

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

Vérifiez que l’attribut utilisé dans l’expression de filtre est sélectionné dans les propriétés du connecteur.

image de la page des paramètres du connecteur avec l'attribut displayName sélectionné

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

Remarque

Actuellement, le point de terminaison de requête Delta ne propose 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 de l’importation delta avec les filtres de requête activés.

Dépannage

Activer les journaux d’activité

S’il existe des problèmes dans Graph, les journaux d’activité peuvent être utilisés pour localiser le problème. Les traces peuvent donc être activées de la même manière que pour les connecteurs génériques. Ou simplement en ajoutant ce qui suit à miiserver.exe.config (à l’intérieur de 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>

Remarque

Si « Exécuter cet agent de gestion dans un processus distinct » est activé, dllhost.exe.config doit être utilisé au lieu de miiserver.exe.config.

erreur d’expiration du jeton d’accès

Le connecteur peut renvoyer l’erreur HTTP 401 Non autorisé, message « Le jeton d’accès a expiré ». :

Image des détails de l'erreur

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

La cause de ce problème peut être la configuration de la durée de vie des jetons d’accès du côté Azure. Par défaut, le jeton d’accès expire après 1 heure. Pour augmenter le temps d'expiration, consultez cet article.

Exemple de l'utilisation de cette version préliminaire publique du module Azure AD PowerShell

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

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

Étapes suivantes