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.
Andere Identitätsverwaltungsszenarien
Der Connector kann für andere spezifische Identitätsverwaltungsszenarien verwendet werden, die das Erstellen, Lesen, Aktualisieren und Löschen von Benutzer-, Gruppen- und Kontaktobjekten in Microsoft Entra ID umfassen, über die Benutzer- und Gruppensynchronisierung mit Microsoft Entra ID hinaus. Beachten Sie bei der Auswertung potenzieller Szenarien: Dieser Connector kann nicht in einem Szenario betrieben werden, das zu einer Überschneidung des Datenflusses oder einem tatsächlichen bzw. potenziellen Synchronisationskonflikt mit einer Microsoft Entra Connect-Bereitstellung führen würde. 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.
Vorbereitungen für die Verwendung des Konnektors für Microsoft Graph
Den Connector autorisieren, um Objekte in Ihrem Microsoft Entra-Verzeichnis abzurufen oder zu verwalten.
Der Konnektor erfordert, dass eine Web-App/API-Anwendung in Microsoft Entra ID erstellt wird, damit sie mit den entsprechenden Berechtigungen für die Bearbeitung von Microsoft Entra-Objekten über Microsoft Graph autorisiert werden kann.
Bild 1. Neue Anwendungsregistrierung
Öffnen Sie im Azure-Portal die erstellte Anwendung, und speichern Sie die Anwendungs-ID als Client-ID, um sie später auf der Verbindungsseite der MA zu verwenden:
Generieren Sie ein neues Client-Secret, indem Sie Zertifikate & Secrets ö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 2. Neuer geheimer Clientschlüssel
Erteilen sie der Anwendung die entsprechenden Berechtigungen für "Microsoft Graph", indem Sie "API-Berechtigungen" öffnen.
Bild 3. Neue API hinzufügen
Wählen Sie "Microsoft Graph"-Anwendungsberechtigungen aus.
Alle nicht benötigten Berechtigungen widerrufen.
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
oderGroup.ReadWrite.All
Application Benutzer importieren User.Read.All
,User.ReadWrite.All
,Directory.Read.All
oderDirectory.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.
- Erteilen Sie Administratorzustimmung für ausgewählte Berechtigungen.
Installieren des Connectors
- 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.
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.
Starten Sie den MIM-Synchronisierungsdienst neu.
Anschlusskonfiguration
- 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.
- 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, um zu vermeiden, dass der Import parallel für dieselbe Anwendung ausgeführt wird.
Bild 4. Seite Konnektivität
Die Verbindungsseite (Bild 4) enthält die Graph-API-Version, die verwendet wird, und den Mandantennamen. 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.
- Nehmen Sie alle erforderlichen Änderungen auf der Seite "Globale Parameter" vor:
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.
Konfiguration des Konnektor-Schemas und der Vorgänge
- Konfigurieren Sie 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 Konnektor verwendet das Attribut 'id
' 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.
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.
Abfragefilter
Graph-API-Endpunkte bieten die Möglichkeit, die Anzahl der von GET-Abfragen zurückgegebenen Objekte durch die Verwendung des Parameters $filter zu begrenzen.
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.
Danach geben Sie auf der Seite Schema 2 einen Ausdruck ein, der zum Filtern von Benutzern, Gruppen, Kontakten oder Dienstprinzipalen verwendet werden soll.
Auf dem obigen Screenshot ist der Filter startsWith(displayName,'J') so festgelegt, dass nur Benutzer gelesen werden, deren Attributwert displayName mit 'J' beginnt.
Stellen Sie sicher, dass das Attribut, das im Filterausdruck verwendet wird, in den Konnektoreigenschaften ausgewählt ist.
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 "Diesen Verwaltungs-Agent in einem separaten Prozess ausführen" 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 "Zugriffstoken ist abgelaufen.":
Bild 6. "Zugriffstoken ist abgelaufen." Fehler
Die Ursache dieses Problems könnte in der Konfiguration der Lebensdauer des Zugriffstokens auf der Azure-Seite liegen. 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
New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"
Nächste Schritte
- Graph Explorer ist ideal für die Problembehandlung von HTTP-Anfragen
- Richtlinien für Versionsverwaltung, Unterstützung und Unterbrechung von Änderungen für Microsoft Graph
- Nationale Cloud-Bereitstellungen von Microsoft Graph
- Download des Microsoft Identity Manager Konnektors für Microsoft GraphMIM B2B End-to-End-Bereitstellung