Freigeben über


Microsoft Identity Manager Konnektor für Microsoft Graph

Zusammenfassung

Der Microsoft Identity Manager Konnektor für Microsoft Graph ermöglicht zusätzliche Integrationsszenarien für Microsoft Entra ID P1 oder P2 Kunden. Er ruft im MIM Sync-Metaverse zusätzliche Objekte ab, die von der Microsoft Graph-API v1 und beta stammen.

Behandelte Szenarien

Verwaltung des B2B-Kontolebenszyklus

Das ursprüngliche Szenario für den Microsoft Identity Manager Konnektor für Microsoft Graph ist ein Konnektor, der dabei hilft, das AD DS Account Lifecycle Management für externe Benutzer zu automatisieren. In diesem Szenario synchronisiert eine Organisation Mitarbeiter mit Microsoft Entra ID aus AD DS über Microsoft Entra Connect und hat auch Gäste in ihr Microsoft Entra-Verzeichnis eingeladen. Das Einladen eines Gasts führt dazu, dass sich ein externes Benutzerobjekt im Microsoft Entra-Verzeichnis dieser Organisation befindet, das sich nicht im AD DS dieser Organisation befindet. Dann möchte die Organisation diesen Gästen über den Microsoft Entra Application Proxy oder andere Gateway-Mechanismen Zugriff auf die on-premises integrierte Windows-Authentifizierung oder Kerberos-basierte Anwendungen geben. Der Microsoft Entra-Anwendungsproxy setzt voraus, dass jeder Benutzer sein eigenes AD DS-Konto für Identifizierungs- und Delegierungszwecke besitzt.

Wenn Sie erfahren möchten, wie Sie die MIM-Synchronisierung so konfigurieren, dass AD DS-Konten für Gäste automatisch erstellt und verwaltet werden, lesen Sie nach dem Lesen der Anweisungen in diesem Artikel weiter im Artikel Microsoft Entra Business-to-Business (B2B)-Zusammenarbeit mit MIM 2016 und dem Microsoft Entra-Anwendungsproxy. In diesem Artikel werden die Synchronisierungsregeln veranschaulicht, die für den Connector erforderlich sind.

Migration von Identitätsattributen von MIM zu Microsoft Entra

Sie können den MIM Graph Connector als Teil einer Migrationsstrategie verwenden, um Benutzer und Gruppen und deren Attribute von MIM zu Microsoft Entra zu verschieben. Wenn Sie z. B. Gruppen in MIM mithilfe des MIM-Portals für die Self-Service- oder dynamische Gruppenmitgliedschaftsberechnung verwalten, können Sie diese Gruppen aus der MIM-Synchronisierung in Microsoft Entra als Cloudgruppen bereitstellen und diese Gruppen anschließend aus MIM entfernen.

Andere Identitätsverwaltungsszenarien

Der Connector kann für andere spezifische Identitätsverwaltungsszenarien zum Erstellen, Lesen, Aktualisieren und Löschen von Benutzer-, Gruppen- und Kontaktobjekten in Microsoft Entra ID verwendet werden, über die Benutzer- und Gruppensynchronisierung mit Microsoft Entra ID hinaus. Bedenken Sie bei der Auswertung potenzieller Szenarien, dass dieser Connector nicht in einem Szenario betrieben werden kann, das zu einer Datenflussüberschneidung oder einem tatsächlichen oder potenziellen Synchronisierungskonflikt mit einer Microsoft Entra Connect-Bereitstellung führen kann. Microsoft Entra Connect ist der empfohlene Ansatz zur Integration lokaler Verzeichnisse mit Microsoft Entra ID, indem Benutzer und Gruppen aus lokalen Verzeichnissen mit Microsoft Entra ID synchronisiert werden. Microsoft Entra Connect verfügt über viele weitere Synchronisierungsfeatures und ermöglicht Szenarien wie Kennwort- und Geräterückschreiben, die für objekte, die von MIM erstellt wurden, nicht möglich sind. Wenn Daten z. B. in AD DS aufgenommen werden, stellen Sie sicher, dass Microsoft Entra Connect nicht versucht, diese Objekte mit dem Microsoft Entra-Verzeichnis abzugleichen. Dieser Connector kann auch nicht verwendet werden, um Änderungen an Microsoft Entra-Objekten vorzunehmen, die von Microsoft Entra Connect erstellt wurden.

Bereiten Sie sich auf die Verwendung des Connectors für Microsoft Graph vor

Autorisieren des Connectors zum Abrufen oder Verwalten von Objekten in Ihrem Microsoft Entra-Verzeichnis

  1. Der Connector erfordert, dass ein Dienstprinzipal, eine Web-App/API-Anwendung, in Microsoft Entra-ID erstellt wird, damit er mit entsprechenden Berechtigungen zum Arbeiten mit Microsoft Entra-Objekten über Microsoft Graph autorisiert werden kann.

    Bild der Schaltfläche Bild der Anwendungsregistrierung

    Bild 1. Neue Anwendungsregistrierung

  2. Öffnen Sie im Microsoft Entra-Portal die erstellte Anwendung, und speichern Sie die Anwendungs-ID als Client-ID, um sie später auf der Verbindungsseite der MA zu verwenden:

  3. Generieren Sie einen neuen geheimen Clientschlüssel, indem Sie Zertifikate und geheime Schlüssel öffnen. Legen Sie eine Schlüsselbeschreibung fest, und wählen Sie die maximale Dauer aus. Speichern Sie die Änderungen und rufen Sie das Client-Secret ab. Der Wert des Client-Secrets ist nach dem Verlassen der Seite nicht mehr einsehbar.

    Bild der Schaltfläche

    Bild 2. Neuer geheimer Clientschlüssel

  4. Erteilen Sie der Anwendung die erforderlichen 'Microsoft Graph'-Berechtigungen, indem Sie "API-Berechtigungen" öffnen.

    Bild der Schaltfläche Bild 3. Neue API hinzufügen

    Wählen Sie "Microsoft Graph"-Anwendungsberechtigungen aus. Bild der Berechtigungen für Anwendungen

    Widerrufen sie alle bereits vorhandenen nicht benötigten Berechtigungen.

    Bild der nicht gewährten Berechtigungen für Anwendungen

    Die folgende Berechtigung sollte der Anwendung hinzugefügt werden, damit sie je nach Szenario die Microsoft Graph-API verwenden kann:

    Vorgang mit Objekt Berechtigung erforderlich Berechtigungstyp
    Schema-Erkennung Application.Read.All Application
    Gruppe importieren Group.Read.All oder Group.ReadWrite.All Application
    Benutzer importieren User.Read.All, User.ReadWrite.All, Directory.Read.All oder Directory.ReadWrite.All Application

    Weitere Details zu den erforderlichen Berechtigungen finden Sie in der Referenz zu Berechtigungen.

    Anmerkung

    Die Berechtigung Application.Read.All ist für die Schemaerkennung obligatorisch und muss unabhängig von dem Objekttyp, mit dem der Konnektor arbeitet, erteilt werden.

  5. Erteilen Sie Administratorzustimmung für ausgewählte Berechtigungen. Bild der erteilten Administratorzustimmung

Installieren des Connectors

  1. Stellen Sie vor der Installation des Connectors sicher, dass Sie auf dem Synchronisierungsserver folgendes haben:

    • Microsoft .NET 4.6.2 Framework oder höher
    • Microsoft Identity Manager 2016 SP2, und muss Hotfix 4.4.1642.0 KB4021562 oder höher verwenden.
  2. Der Konnektor für Microsoft Graph ist neben anderen Konnektoren für Microsoft Identity Manager 2016 SP2 als Download im Microsoft Download Center erhältlich.

  3. Starten Sie den MIM-Synchronisierungsdienst neu.

Konfigurieren des Connectors

  1. Wählen Sie auf der Synchronization Service Manager-Benutzeroberfläche Connectors und Erstellen. Wählen Sie Graph (Microsoft)aus, erstellen Sie einen Konnektor und geben Sie ihm einen aussagekräftigen Namen.

    Abbildung des neuen Konnektors

  2. Geben Sie in der Benutzeroberfläche des MIM-Synchronisierungsdiensts die Anwendungs-ID und das generierte Client Secret an. Jeder in MIM Sync konfigurierte Verwaltungs-Agent sollte über eine eigene Anwendung in der Microsoft Entra-ID verfügen, da Sie für dieselbe Anwendung nicht mehrere Importe parallel ausführen können.

    Die Verbindungsseite gibt die Graph-API-Version an, die verwendet werden soll, und den Mandantendomänennamen. Die Client-ID und der geheime Clientschlüssel stellen die Anwendungs-ID und den Schlüsselwert der Anwendung dar, die zuvor in Microsoft Entra ID erstellt wurde.

    Der Konnektor verwendet standardmäßig die v1.0 und die Login- und Graph-Endpunkte des globalen Microsoft Graph-Dienstes. Wenn sich Ihr Mandant in einer nationalen Cloud befindet, müssen Sie Ihre Konfiguration ändern, um die Endpunkte für die nationale Cloud zu verwenden. Beachten Sie, dass bestimmte Features von Graph, die sich im globalen Dienst befinden, möglicherweise nicht in allen nationalen Clouds verfügbar sind.

  3. Nehmen Sie alle erforderlichen Änderungen auf der Seite "Globale Parameter" vor:

    Bild der Seite Globale Parameter

    Bild 5. Seite „Globale Parameter“

    Die Seite "Globale Parameter" enthält die folgenden Einstellungen:

    • DateTime-Format – Format, das für jedes Attribut mit dem Typ "Edm.DateTimeOffset" verwendet wird. Alle Datumsangaben werden mithilfe dieses Formats während des Imports in eine Zeichenfolge konvertiert. Das Setformat wird für jedes Attribut angewendet, das Datum speichert.

    • HTTP-Timeout (Sekunden) – Timeout in Sekunden, der bei jedem HTTP-Aufruf an Graph verwendet wird.

    • Änderung des Kennworts für erstellte Benutzer beim nächsten Anmelden erzwingen – diese Option wird für neue Benutzer verwendet, die während des Exports erstellt werden. Wenn die Option aktiviert ist, wird die Eigenschaft forceChangePasswordNextSignIn auf true festgelegt, andernfalls wird sie auf false gesetzt.

Konfigurieren des Connectorschemas und der Vorgänge

Konfigurieren Sie als Nächstes das Schema. Der Connector unterstützt die folgende Liste der Objekttypen, wenn er mit dem Graph v1.0-Endpunkt verwendet wird:

  • Benutzer

    • Vollständiger Import / Delta-Import

    • Exportieren (Hinzufügen, Aktualisieren, Löschen)

  • Group

    • Vollständiger Import / Delta-Import

    • Exportieren (Hinzufügen, Aktualisieren, Löschen)

Wenn Sie den Konnektor für die Verwendung des Endpunkts Graph beta konfigurieren, können zusätzliche Objekttypen sichtbar sein.

Die Liste der unterstützten Attributtypen:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (Zeichenfolge im Konnektorbereich)

  • microsoft.graph.directoryObject (Verweis im Verbinderbereich auf eines der unterstützten Objekte)

  • microsoft.graph.contact

Mehrwertige Attribute (Sammlung) werden ebenfalls für jeden Typ aus der obigen Liste unterstützt.

Der Verbinder verwendet das id Attribut für Anker und DN für alle Objekte. Daher ist die Umbenennung nicht erforderlich, da die Graph-API nicht zulässt, dass ein Objekt sein id-Attribut ändern kann.

Planen der Lebensdauer des Zugriffstokens

Eine Graph-Anwendung erfordert ein Zugriffstoken für den Zugriff auf die Graph-API. Ein Connector fordert ein neues Zugriffstoken für jede Importiteration an (die Import iteration hängt von der Seitengröße ab). Zum Beispiel:

  • Microsoft Entra-ID enthält 10000 Objekte.

  • Die im Konnektor konfigurierte Seitengröße beträgt 5000

In diesem Fall gibt es zwei Iterationen während des Imports, jedes von ihnen gibt 5000 Objekte zur Synchronisierung zurück. Ein neues Zugriffstoken wird also zweimal angefordert.

Während des Exports wird ein neues Zugriffstoken für jedes Objekt angefordert, das hinzugefügt/aktualisiert/gelöscht werden muss.

Konfigurieren von Abfragefiltern

Graph-API-Endpunkte bieten die Möglichkeit, die Anzahl der von GET-Abfragen zurückgegebenen Objekte einzuschränken, indem der $filter-Parameter eingeführt wird.

Um die Verwendung von Abfragefiltern zu ermöglichen, um die Leistung des gesamten Importzyklus zu verbessern, aktivieren Sie auf der Seite Schema 1 der Eigenschaften des Konnektors das Kontrollkästchen Objekte hinzufügen.

Ein Bild der Seite Konnektor-Einstellungen mit aktiviertem Kontrollkästchen Filter für Objekte hinzufügen

Geben Sie anschließend auf der Seite "Schema 2 " einen Ausdruck ein, der zum Filtern von Benutzern, Gruppen, Kontakten oder Dienstprinzipalen verwendet werden soll.

Bild Konnektor Einstellungen Seite zwei mit einem Beispiel für den Filter startsWith(displayName,'J')

Im obigen Screenshot ist der Filter startsWith(displayName,'J') so eingestellt, dass nur Benutzer angezeigt werden, deren displayName-Attributwert mit J beginnt.

Stellen Sie sicher, dass das Attribut, das im Filterausdruck verwendet wird, in den Konnektoreigenschaften ausgewählt ist.

Bild der Seite mit den Konnektor-Einstellungen mit festgelegtem displayName-Attribut

Weitere Informationen zur Verwendung des $filter Abfrageparameters finden Sie in diesem Artikel: Verwenden von Abfrageparametern zum Anpassen von Antworten.

Anmerkung

Der Delta-Abfrageendpunkt bietet derzeit keine Filterfunktionen, daher ist die Verwendung von Filtern nur auf den vollständigen Import beschränkt. Beim Versuch, die Delta-Importausführung mit aktivierten Abfragefiltern zu starten, wird ein Fehler angezeigt.

Fehlerbehebung

Protokolle aktivieren

Wenn in Graph Probleme auftreten, können Protokolle verwendet werden, um das Problem zu lokalisieren. Tracing kann also auf die gleiche Weise wie bei den generischen Konnektoren aktiviert werden. Oder Sie fügen miiserver.exe.config (im Abschnitt system.diagnostics/sources) einfach Folgendes hinzu:

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

Anmerkung

Wenn Run this management agent in a separate process aktiviert ist, sollte dllhost.exe.config anstelle von miiserver.exe.config verwendet werden.

Fehler bei abgelaufenem Zugriffstoken

Connector gibt möglicherweise HTTP-Fehler 401 Nicht autorisiert zurück, Meldung Access token has expired.:

Bild der Fehlerdetails

Bild 6. Access token has expired. Fehler

Die Ursache dieses Problems kann die Konfiguration der Lebensdauer von Zugriffstoken in Microsoft Entra sein. Standardmäßig läuft das Zugriffstoken nach 1 Stunde ab. Um die Ablaufzeit zu erhöhen, lesen Sie diesen Artikel.

Beispiel für die Verwendung von Azure AD PowerShell Module Public Preview Release

Bild der Lebensdauer des Tokens

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

Nächste Schritte