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.
Die Pipeline enthält mehrere unterschiedliche Module. Jede ist für ein Konzept bei der Objektsynchronisierung verantwortlich.
- 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.
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.
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.
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.
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.
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 .
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.
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.
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.
Nächste Schritte
- Weitere Informationen zur Ausdruckssprache finden Sie unter Grundlegendes zu Ausdrücken für die deklarative Bereitstellung.
- Unter Grundlegendes zur Standardkonfigurationwird die standardmäßige Verwendung der deklarativen Bereitstellung veranschaulicht.
- Unter Ändern der Standardkonfigurationwird beschrieben, wie Sie mit der deklarativen Bereitstellung eine praktische Änderung vornehmen.
- Unter Grundlegendes zu Benutzern und Kontaktenerfahren Sie, wie Benutzer und Kontakte zusammenarbeiten.
Übersichtsthemen
- Microsoft Entra Connect-Synchronisierung: Grundlagen und Anpassung der Synchronisierung
- Integrieren Ihrer lokalen Identitäten in Microsoft Entra ID
Referenzthemen