Microsoft Entra Connect-Synchronisierung: Grundlegendes zur deklarativen Bereitstellung

In diesem Thema wird das Konfigurationsmodell in Microsoft Entra Connect beschrieben. Dieses Modell, die „deklarative Bereitstellung“, ermöglicht es Ihnen, Konfigurationsänderungen einfach vorzunehmen. In diesem Thema sind auch viele Punkte für fortgeschrittene Benutzer beschrieben, die für die meisten Benutzerszenarien nicht erforderlich sind.

Übersicht

Deklarative Bereitstellung bedeutet, Objekte aus einem mit der Quelle verbundenen Verzeichnis zu verarbeiten und zu bestimmen, wie das Objekt und die Attribute von einer Quelle in ein Ziel transformiert werden. Ein Objekt wird in einer Synchronisierungspipeline verarbeitet. Die Pipeline ist für ein- und ausgehende Regeln identisch. Eine eingehende Regel wird von einem Connectorbereich an die Metaverse übergeben, und eine ausgehende Regel wird von der Metaverse an einen Connectorbereich übergeben.

Diagram that shows a sync pipeline example.

Die Pipeline enthält mehrere unterschiedliche Module. Jede ist für ein Konzept bei der Objektsynchronisierung verantwortlich.

Diagram that shows the modules in the pipeline.

  • Quelle: das Quellobjekt
  • Bereich: Sucht nach allen Synchronisierungsregeln innerhalb des Bereichs
  • Verbindung: Bestimmt die Beziehung zwischen Connectorbereich und Metaverse
  • Transformation: Berechnet die Transformation der Attribute und den Datenfluss
  • Rangfolge: Löst in Konflikt stehende Attributbeiträge
  • Ziel: das Zielobjekt

`Scope`

Das Bereichsmodul wertet ein Objekt aus und bestimmt die Regeln, die sich innerhalb des Bereichs befinden und verarbeitet werden sollen. Abhängig von den Attributwerten des Objekts werden verschiedene Synchronisierungsregeln für den Bereich ausgewertet. Beispielsweise verfügt ein deaktivierter Benutzer ohne Exchange-Postfach über andere Regeln als ein aktivierter Benutzer mit einem Postfach.
Diagram that shows the scope module for an object.

Der Bereich wird als Gruppen und Klauseln definiert. Die Klauseln liegen innerhalb einer Gruppe. Ein logisches AND wird zwischen allen Klauseln in einer Gruppe verwendet. Zum Beispiel (department =IT AND country = Denmark). Ein logisches OR wird zwischen Gruppen verwendet.

Scope
Der Bereich in der folgenden Abbildung wird gelesen als (department = IT AND country = Denmark) OR (country=Sweden). Wenn entweder Gruppe 1 oder Gruppe 2 wahr ist, befindet sich die Regel im Geltungsbereich.

Das Bereichsmodul unterstützt die folgenden Vorgänge.

Vorgang BESCHREIBUNG
EQUAL, NOTEQUAL Ein Vergleich von Zeichenfolgen, der auswertet, ob der Wert und der Attributwert gleich sind. Informationen zu mehrwertigen Attributen finden Sie unter ISIN und ISNOTIN.
LESSTHAN, LESSTHAN_OR_EQUAL Ein Vergleich von Zeichenfolgen, der auswertet, ob der Wert kleiner als der Attributwert ist.
CONTAINS, NOTCONTAINS Ein Vergleich von Zeichenfolgen, der auswertet, ob sich der Wert innerhalb des Attributwerts befindet.
STARTSWITH, NOTSTARTSWITH Ein Vergleich von Zeichenfolgen, der auswertet, ob sich der Wert am Anfang des Attributwerts befindet.
ENDSWITH, NOTENDSWITH Ein Vergleich von Zeichenfolgen, der auswertet, ob sich der Wert am Ende des Attributwerts befindet.
GREATERTHAN, GREATERTHAN_OR_EQUAL Ein Vergleich von Zeichenfolgen, der auswertet, ob der Wert größer als der Attributwert ist.
ISNULL, ISNOTNULL Wertet aus, ob das Attribut im Objekt nicht vorhanden ist. Wenn das Attribut nicht vorhanden und daher Null ist, liegt die Regel innerhalb des Bereichs.
ISIN, ISNOTIN Wertet aus, ob der Wert im definierten Attribut vorhanden ist. Dieser Vorgang ist die mehrwertige Entsprechung von EQUAL und NOTEQUAL. Das Attribut sollte ein mehrwertiges Attribut sein. Wenn der Wert in einem der Attributwerte gefunden wird, befindet sich die Regel innerhalb des Bereichs.
ISBITSET, ISNOTBITSET Wertet aus, ob ein bestimmtes Bit festgelegt ist. Kann beispielsweise die Bits in „userAccountControl“ auswerten, um zu sehen, ob ein Benutzer aktiviert oder deaktiviert ist.
ISMEMBEROF, ISNOTMEMBEROF Der Wert sollte einen DN in Bezug auf eine Gruppe im Connectorbereich enthalten. Wenn das Objekt Mitglied der festgelegten Gruppe ist, liegt die Regel innerhalb des Bereichs.

Join

Das Verbindungsmodul in der Synchronisierungspipeline ist dafür zuständig, die Beziehung zwischen dem Objekt in der Quelle und dem Objekt im Ziel zu finden. Bei einer eingehenden Regel ist diese Beziehung ein Objekt in einem Connectorbereich, das eine Beziehung zu einem Objekt in der Metaverse herstellt.
Join between cs and mv
Das Ziel besteht darin, festzustellen, ob sich in der Metaverse bereits ein Objekt befindet, das von einem anderen Connector erstellt wurde und mit dem eine Zuordnung hergestellt werden soll. Z.B. in einer Kontoressourcengesamtstruktur muss der Benutzer aus der Kontogesamtstruktur mit dem Benutzer aus der Ressourcengesamtstruktur verbunden werden.

Verbindungen werden meistens für eingehende Regeln verwendet, um die Objekte des Connectorbereichs mit dem gleichen Metaverse-Objekt zu verbinden.

Verbindungen werden als eine oder mehrere Gruppen definiert. Innerhalb einer Gruppe haben Sie Klauseln. Ein logisches AND wird zwischen allen Klauseln in einer Gruppe verwendet. Ein logisches OR wird zwischen Gruppen verwendet. Die Gruppen werden in der Reihenfolge von oben nach unten verarbeitet. Wenn eine Gruppe genau eine Übereinstimmung mit einem Objekt im Ziel gefunden hat, werden keine anderen Verbindungsregeln ausgewertet. Wenn keine oder mehrere Objekte gefunden werden, wird die Verarbeitung bis zur nächsten Regelgruppe fortgesetzt. Aus diesem Grund müssen die Regeln so erstellt werden, dass die expliziten Regel zuerst und die ungenauen Regeln zuletzt kommen.
Join definition
Die Verbindungen in diesem Bild werden von oben nach unten verarbeitet. Zuerst prüft die Synchronisierungspipeline, ob eine Übereinstimmung für eine EmployeeID vorliegt. Andernfalls prüft die zweite Regel, ob die Objekte mithilfe des Kontonamens verbunden werden können. Liegt hier ebenfalls keine Übereinstimmung vor, prüft die dritte und letzte Regel eine etwas ungenauere Übereinstimmung unter Verwendung des Benutzernamens.

Wenn alle Verbindungsregeln ausgewertet wurden und keine Übereinstimmung vorliegt, wird der Verknüpfungstyp auf der Seite Beschreibung verwendet. Wenn für diese Einstellung Bereitstellenfestgelegt ist, wird im Ziel ein neues Objekt erstellt.
Screenshot that shows the

Ein Objekt darf nur über eine einzelne Synchronisierungsregel mit Verbindungsregeln im Bereich verfügen. Wenn mehrere Synchroniserungsregeln vorhanden sind und „Join“ (Verbindung) definiert ist, tritt ein Fehler auf. Die Rangfolge wird nicht zum Lösen von Verbindungskonflikten verwenden. Ein Objekt benötigt eine Verbindungsregel im Bereich, damit der Datenfluss der Attribute in die gleiche ein-/ausgehende Richtung erfolgt. Wenn der Datenfluss der Attribute sowohl ein- als auch ausgehend zum gleichen Objekt erfolgen soll, benötigen Sie sowohl eine ein- als auch eine ausgehende Synchronisierungsregel mit der Verbindung.

Die ausgehende Verbindung weist ein besonderes Verhalten auf, wenn sie versucht, ein Objekt für einen Zielconnectorbereich bereitzustellen. Das DN-Attribut wird verwendet, um zuerst eine Reverseverbindung zu versuchen. Wenn sich im Zielconnectorbereich mit dem gleichen DN bereits ein Objekt befindet, werden die Objekte verbunden.

Das Verbindungsmodul wird nur einmal ausgewertet, wenn eine neue Synchronisierungsregel hinzugefügt wird. Wenn ein Objekt verbunden wurde, wird es auch nicht getrennt, wenn die Verbindungskriterien nicht mehr erfüllt sind. Wenn Sie ein Objekt trennen möchten, muss die Synchronisierungsregel, die die Objekte verbunden hat, den Gültigkeitsbereich verlassen.

Löschen der Metaverse

Ein Metaverse-Objekt besteht, solange sich eine Synchronisierungsregel im Bereich befindet, für die der Verknüpfungstyp auf Bereitstellen oder StickyJoin (Fixierte Verbindung) festgelegt ist. Ein „StickyJoin“ (Fixierte Verbindung) wird verwendet, wenn ein Connector kein neues Objekt in der Metaverse bereitstellen darf, aber wenn er verbunden wurde, muss er vor dem Löschen des Metaverse-Objekts in der Quelle gelöscht werden.

Wenn ein Metaverse-Objekt gelöscht wird, werden alle Objekte, die einer ausgehenden, für Bereitstellen markierten Synchronisierungsregel zugeordnet sind, zum Löschen markiert.

Transformationen

Transformationen werden verwendet, um festzulegen, wie der Datenfluss von Attributen von der Quelle zum Ziel erfolgen soll. Für die Datenflüsse gibt es die folgenden FlowTypes(Durchflusstypen): Direkt, Konstant oder Expression (Ausdruck). Bei einem direkten Durchfluss wird der Attributwert im vorliegenden Zustand ohne weitere Änderungen übertragen. Ein konstanter Wert legt den angegebenen Wert fest. Ein Ausdruck verwendet die deklarative Bereitstellungsausdruckssprache, um auszudrücken, wie die Transformation aussehen soll. Weitere Informationen zur Ausdruckssprache finden Sie im Thema Grundlegendes zu Ausdrücken für die deklarative Bereitstellung .

Provision or join

Das Kontrollkästchen Apply once (Einmal anwenden) definiert, dass das Attribut nur festgelegt wird wenn das Objekt erstmals erstellt wird. Diese Konfiguration kann beispielsweise verwendet werden, um ein anfängliches Kennwort für ein neues Benutzerobjekt festzulegen.

Zusammenführen von Attributwerten

In den Attributflüssen ist eine Einstellung verfügbar, mit der Sie ermitteln können, ob mehrwertige Attribute aus mehreren verschiedenen Connectors zusammengeführt werden sollten. Beim Standardwert Updatewird die Synchronisierungsregel mit der höchsten Rangfolge angewendet.

Screenshot that shows the

Weitere Einstellungen sind Merge und MergeCaseInsensitive. Mit diesen Optionen können Sie Werte aus unterschiedlichen Quellen zusammenführen. Sie können beispielsweise das Attribut „proxyAddresses“ aus mehreren unterschiedlichen Gesamtstrukturen zusammenführen. Wenn Sie diese Option verwenden, müssen alle Synchronisierungsregeln im Bereich für ein Objekt denselben Zusammenführungstyp aufweisen. Es ist nicht möglich, den Zusammenführungstyp Update für einen Connector und Merge für einen anderen Connector festzulegen. Wenn Sie es versuchen, wird eine Fehlermeldung ausgegeben.

Der Unterschied zwischen Merge und MergeCaseInsensitive ist die Verarbeitung doppelter Attributwerte. Das Synchronisierungsmodul stellt sicher, dass keine doppelten Werte in das Zielattribut eingefügt werden. Bei MergeCaseInsensitive werden auch keine doppelten Werte eingefügt, bei denen sich nur die Groß-/Kleinschreibung unterscheidet. Beispielsweise sollten “SMTP:bob@contoso.com“ und “smtp:bob@contoso.com“ nicht gleichzeitig im Zielattribut vorhanden sein. Merge überprüft nur die genauen Werte. Daher ist es möglich, dass mehrere Werte vorhanden sind, bei denen sich nur die Groß-/Kleinschreibung unterscheidet.

Die Option Replace entspricht Update, wird aber nicht verwendet.

Steuern des Attributflussprozesses

Wenn mehrere eingehende Synchronisierungsregeln konfiguriert sind, die zu demselben Metaverseattribut beitragen, bestimmt die Rangfolge, welche Regel angewendet wird. Die Synchronisierungsregel mit der höchsten Rangfolge (dem niedrigsten numerischen Wert) trägt den Wert bei. Gleiches gilt für ausgehende Regeln. Die Synchronisierungsregel mit der höchsten Rangfolge trägt den Wert zum verbundenen Verzeichnis bei.

In einigen Fällen trägt die Synchronisierungsregel keinen Wert bei, sondern bestimmt, wie andere Regeln sich verhalten sollen. In diesem Fall werden einige spezielle Literale verwendet.

Bei eingehenden Synchronisierungsregeln kann das Literal NULL verwendet werden, um anzugeben, dass der Attributfluss keinen Wert beiträgt. Eine andere Regel mit niedrigerer Rangfolge kann einen Wert beitragen. Wenn keine Regel einen Wert beiträgt, wird das Metaverseattribut entfernt. Wenn bei einer ausgehenden Regel NULL der endgültige Wert nach der Verarbeitung aller Synchronisierungsregeln ist, wird der Wert im verbundenen Verzeichnis entfernt.

Das Literal AuthoritativeNull ähnelt NULL, jedoch mit dem Unterschied, dass keine Regeln mit niedrigerer Rangfolge einen Wert beitragen können.

Ein Attributfluss kann auch IgnoreThisFlowverwenden. Dieses Literal ähnelt NULL, da es angibt, dass kein beizutragender Wert vorhanden ist. Der Unterschied besteht darin, dass ein bereits vorhandener Wert im Ziel nicht entfernt wird. Es ist, als hätte es den Attributfluss nie gegeben.

Beispiel:

In Out to AD - User Exchange hybrid (Ausgehend nach AD – Benutzer Exchange Hybrid) finden Sie folgenden Fluss:
IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow)
Dieser Ausdruck sollte wie folgt gelesen werden: Wenn sich das Benutzerpostfach in Microsoft Entra ID befindet, wird das Attribut von Microsoft Entra ID an AD gesendet. Andernfalls fließt nichts zurück nach Active Directory. In diesem Fall wird der vorhandene Wert in AD beibehalten.

ImportedValue

Die Funktion „ImportedValue“ unterscheidet sich von allen anderen Funktionen, da der Attributname in Anführungszeichen statt in eckige Klammern eingeschlossen werden muss:

ImportedValue("proxyAddresses").

Bei der eingehenden Synchronisierung wird davon ausgegangen, dass ein Attribut, das noch kein verbundenes Verzeichnis erreicht hat, dieses irgendwann erreicht. Normalerweise erhält die Synchronisierung also einen Attributwert aus dem jeweiligen Connectorbereich, auch wenn es noch nicht exportiert wurde oder wenn während des Exports ein Fehler aufgetreten ist. In einigen Fällen ist es jedoch wichtig, nur Werte zu synchronisieren, die exportiert und während des Imports vom verbundenen Verzeichnis bestätigt wurden. Diese Funktion ist in mehreren vordefinierten Transformationsregeln für „Eingehend aus AD/AAD“ enthalten. Dabei sollte das Attribut nur synchronisiert werden, wenn bestätigt wurde, dass der Wert erfolgreich exportiert wurde.

Ein Beispiel für diese Funktion finden Sie in der vordefinierten Synchronisierungsregel Eingehend von AD – Benutzer allgemein aus Exchange für den ProxyAddresses-Attributflow mit Hybrid Exchange. Wenn etwa das proxyAddresses-Attribut eines Benutzers hinzugefügt wird, gibt die ImportedValue-Funktion den neuen Wert erst zurück, nachdem er über den folgenden Importschritt bestätigt wurde:

proxyAddresses<- RemoveDuplicates(Trim(ImportedValue("proxyAddresses")))

Diese Funktion ist erforderlich, wenn das Zielverzeichnis einen exportierten Attributwert möglicherweise im Hintergrund ändert oder verwirft und die Synchronisierung nur bestätigte Attributwerte verarbeiten soll.

Rangfolge

Wenn mehrere Synchronisierungsregeln versuchen, den gleichen Attributwert für das Ziel beizutragen, wird mit dem Rangfolgenwert bestimmt, welcher Wert Vorrang hat. Die Regel mit der höchsten Rangfolge (dem niedrigsten numerischen Wert) trägt in einem Konflikt das Attribut bei.

Merge Types

Diese Sortierung kann verwendet werden, um genauere Attributflüsse für eine kleine Teilmenge an Objekten zu definieren. Die vordefinierten Regeln stellen beispielsweise sicher, dass Attribute eines aktivierten Kontos (User AccountEnabled) Vorrang vor anderen Konten haben.

Die Rangfolge kann zwischen Connectors definiert werden. Dadurch tragen Connectors mit besseren Daten zuerst die Werte bei.

Mehrere Objekte vom gleichen Connectorbereich

Es ist nicht möglich, mehrere Objekte im gleichen Connectorbereich mit demselben Metaverse-Objekt zu verbinden. Diese Konfiguration wird als mehrdeutig gemeldet, auch wenn die Attribute in der Quelle den gleichen Wert aufweisen.

Diagram that shows multiple objects joined to the same mv object with a transparent red X overlay.

Nächste Schritte

Übersichtsthemen

Referenzthemen