Cross-tenant sync - Konfiguration

Die Einrichtung von "Cross-tenant sync" erfolgt am einfachsten über das Azure Portal auf https://portal.azure.com. Denken Sie daran, dass Sie in beiden Tenants etwas tun müssen. Das Vorgehen ist von Microsoft sehr ausführlich dokumentiert.

Daher schreibe ich hier eine Checkliste mit den wesentlichen Einstellungen.

Prüfpunkt

Erledigt

Zieltenant

Zuerst bitte ich den Administrator im Ziel, meinen Quelltenant in den Cross Tenant unter "External Access / Cross-tenant Setting" einzutragen

Ich mache das hier in meinem MSXFAQDEV-Tenant

Sie sollten auch ihre TenantID dem Administrator der Quelle übermitteln.

Hinweis: Sie können auch mehrere Konfigurationen sogar zum gleichen Tenant einrichten. Es mag Umgebungen geben, in denen das Sinnvoll ist, z.B. anhand bestimmter Felder die Quelleobjekte auszuwählen und per Transformation im Ziel diese anders anzulegen.

Zieltenant: Allow users sync into this tenant

Danach müssen Sie auf "inbound Access" dieser neuen Einstellung klicken, die Checkbox setzen und dann "Auto-redemption" bestätigen.

Damit erteilt der Administrator im Ziel dem Dirsync in der Quelle die Berechtigung, Objekte anzulegen, zu ändern und wieder zu löschen

Ohne diese Konfiguration können Sie später in der Quelle den Sync nicht einrichten. Wenn Sie nach eingerichtetem Sync die Checkbox entfernen, dann wird in der Quelle die Synchronisation in Quarantäne gestellt.

Zieltenant: Invitation Redemption

Bei der Einrichtung hat ihnen der Assistent schon die automatische Annahme von Einladungen abverlangt. Wenn ihre Einstellung aber schon älter ist, sollten Sie diese Konfiguration unter "Trust Settings" prüfen.

Die Checkbox muss gesetzt sein.

Quelltenant: Invitation Redemption

Auch im Quell-Tenant muss unter "External Access / Cross tenant Setting" der Zieltenant eingetragen werden. Das ist auch zu erwarten, denn für B2BConnect und Teams Shared Channel ist das sowieso erforderlich. Für den "Cross-tenant sync" ist es aber wichtig, das auch hier die Annahme von Einladung automatisch erfolgt. Diesmal ist es die "Outbound" Einstellung im Quell-Tenant:

Quelltenant: Sync einrichten

Erst dann können Sie unter "Cross Tenant synchronization" im Azure Portal auf https://portal.azure.com/#view/Microsoft_AAD_Connect_Provisioning/CrossTenantSynchronizationMainMenuBlade/~/Overview den Sync einrichten. Sie addieren hier eine neue Konfiguration, stellen den Provisioing Mode von Manuell auf Automatisch und tragen die Tenant-ID des Ziel-Tenants ein. Solle hier ein Fehler erscheinen, dann prüfen Sie im Ziel-Tenant noch einmal die Konfiguration oder warten sie die AzureAD-Replikation ab.

Sie müssen hier keinen Benutzernamen oder Kennworte eintragen. Die Tenant-GUID ist mit der Freischaltung auf der anderen Seite ausreichend.

Drücken Sie hier aber noch nicht auf "Save", denn Sie können noch Einfluss auf das Mapping von Feldern nehmen. Viel wichtiger finde ich aber die Steuerung, welche Objekte überhaupt "im Scope" sind. Dazu stelle ich in der Regel den Scope auf "Sync only assigned users and groups".

Sie müssen dann natürlich unter "Users and groups" auch die entsprechenden Personen und ggfls. Gruppen addieren. Bei Gruppen werden die Mitglieder aber nicht die Gruppen selbst repliziert. Zudem zeigt ihnen das Portal auch Objekte an, die "Cross-tenant sync" von sich aus ignoriert.

Achtung: Aktivieren Sie den Provisioning Status hier noch nicht!. Sie müssen ggfls. erst weitere Anpassungen vornehmen.

Anpassungen: Zielbenutzer als Member oder Guest

"Cross-tenant sync" legt per Default im Ziel externe Identitäten vom Typ "Member" an. Microsoft Teams kann diese Objekte aber (noch) nicht für Shared Channels nutzen sondern erwartet Gäste und eine nachträgliche Änderung im Ziel-AzureAD ist zwar möglich aber wird von Microsoft Teams nicht unterstützt. Daher müssen Sie hier zumindest eine Einstellung anpassen. Unter Provisioning müssen Sie dort auf Mappings gehen. Es gibt dort bei "Cross-tenant sync" nur die Option "Provision Azure Active Directory Users", die sie anpassen können.

Dort finden Sie eine u.a. unter "Attribute Mapping" die Möglichkeit weiterer Anpassungen,

Relevant ist hier die Liste der Attribute, die "Cross-tenant sync" standardmäßig nutzt.

Die letzte Zeile gibt vor, dass der Sync einen "Member" anlegt. Bitte passen Sie den Wert auf "Guest" an, wenn Sie mit Teams auf der anderen Seite als Gast-Benutzer arbeiten wollten.

Am unteren Rand gibt es noch das Feld "Apply this mapping", welches auf "Only during object creation" steht. Sie können dies auch auf "Always" oder "Only if the attribute contains multiple values" stellen. Gerade die Einstellung "Always" kann interessant sein, um die Werte im Ziel immer wieder anzuwenden nur nicht nur bei der Anlage der Erstanlage des Objekts.

Die meisten anderen Felder stehen übrigens auf "Always". Das bedeutet aber nur, dass bei einer Änderung in der Quelle dieses Feld übertragen wird. Es wird aber nicht jedes mal übertragen.!

Anpassungen: Feldinhalte

Nutzen Sie die Change in dem Moment auch andere Felder zu prüfen, z.B.

  • Displayname
    Vielleicht möchten Sie ja im Ziel ein "(Firma)" an den Namen hängen. Das geht dann per Expression
  • showInAddresslist
    Wenn Sie die Objekte nicht als Exchange Empfänger im Ziel sichtbar machen möchten, sollten Sie den Wert auf "False" setzen
  • Department u.a.
    Vielleicht gibt es weitere Felder, deren Inhalt sie gerade nicht in dem anderen Tenant mit anzeigen wollen, weil Sie sensible Informationen enthalten

Tipp:
Wenn Sie dem Administrator im Ziel das Leben etwas einfacher machen wollen, dann bieten Sie ihm an, ein Feld seiner Wahl mit eine String zu füllen, damit er die Sync-Quelle erkennen kann.

All diese Anpassungen macht der Administrator in der Quelle. Der Administrator im Ziel "vertraut" der Quelle, dass hier keine ungeeigneten Daten kommen. "Cross-tenant sync" ist daher wirklich nur etwas für Firmen mit mehreren Tenants oder einer engen Verbindung.

Scope Filter

Sie können in den erweiterten Einstellungen sogar das Scoping auf Feldinhalte durchführen. Das würde ich dann aber schon als erweiterte Konfiguration ansehen. Über den kleinen unscheinbaren Link können Sie weitere Filter definieren:

 

Überprüfen

Ehe Sie das Provisioning auf "on" stellen, bietet sich ein Testlauf ab. Über "Provisioning on demand" können Sie bis zu 5 Objekte aus ihrem AD auswählen und die Provisionierung manuell starten.

Achtung: Dies ist keine Simulation. Die Änderungen werden im Ziel umgesetzt.

Das AzureAD Portal zeigt im ersten Dialog genau an, welche Felder aus der Quelle in das Ziel geschrieben werden.

Auch im Überblick sind die vier Phasen einzeln zu sehen und zu jeder Phase können Sie Details einsehen

Kontrolle im Ziel

Spätestens nach ein paar Testobjekten sollten Sie im Ziel nachschauen, was dort angekommen ist. In meinem Fall sind die beiden Objekte ADUser1 und ADUser2 nach der Änderung im Mapping als Guest angekommen.

 

Sync aktivieren

Nachdem die Funktion überprüft wurde, kann ich den Sync aktivieren.

Denken Sie daran, dass Sie zumindest eine Mailadresse für Fehlermeldungen hinterlegen oder den Status überwachen.

Sync überwachen

Im AzureAD passiert nichts ohne einen Protokolleintrag. Sie sollten die Funktion des Sync durchaus überwachen. Dies können beide Tenant Administratoren.

  • Quelle: Auditlog
    Bis zu einem Monat können Sie hier die Aktivitäten des "Cross-tenant sync" nachverfolgen indem es Zeitstempel der Import/Export-Prozesse protokolliert.
  • Quelle: Provisoininglog
    Das Provisioning log ist deutlich ausführlicher und protokolliert einzelne geänderte Felder pro Objekte des letzten Monats
  • Quelle: Sync Status
  • Ziel: Auditlog
    Aber auch der Administrator im Ziel kann natürlich sehen, welche externe Identitäten durch einen "Cross-tenant sync" angelegt wurden.

All diese Daten sind auch per Graph u.a. abrufbar, so dass sie die Daten problemlos als Statusüberwachung nutzen können.

Rückbau

Natürlich können Sie die Konfiguration auch relativ schnell wieder zurückbauen. Aber auch hier sollten Sie nicht einfach nur das Synchronisierungsprofil löschen, sondern geplant vorgehen.

Schritt Erledigt

Ziel: Objektbereinigung

Überlegen Sie sich, ob Sie die aus der Quelle ins Ziel übertragenen Objekte nach dem Rückbau weiter verwalten wollen.

Wenn der Quell-Administrator die Objekte im Ziel löschen will, dann sollte er sie erst aus dem Scope nehmen und eine letzte Replikation abwarten. So können Sie von ihnen angelegte Objekte im Zieltenant auch wieder entfernen.

Wenn sie die Arbeit dem Ziel-Administrator überlassen wollen, dann können nach dem Rückbau die Objekte wie regulär angelegte Objekte verwalten.

Quelle: Sync in der Quelle entfernen

Zuerst entfernen Sie die Synchronisationskonfiguration in der Quelle. Damit wird sichergestellt, dass keine Änderungen weiter aus der Quell in das Ziel übertragen werden. Diese Aktion löscht keine Objekte mehr im Ziel.

Quelle: Trust und Auto Remediation deaktivieren

Wenn Sie auch die manuelle Einladung von Gästen wieder auf den Standardwert stellen wollen, so dass die Gäste eine Einladungsmails bekommen, dann  müssen Sie in der B2B-Connect-Konfiguration die Checkbox entfernen

Quelle: B2B Connect Eintrag optional entfernen

Sie können natürlich auch komplett den "B2B Connect"-Eintrag in der Quelle entfernen und so wieder die globalen Defaults aktivieren

Ziel: Trust und Auto Remediation deaktivieren

Auch der Administrator im Ziel sollte seinerseits die automatische Zulassung von Gastkonten ggfls. rückgängig machen

Ziel: B2B Connect Eintrag optional entfernen

Auch im Ziel kann der "B2B Connect"-Eintrag aktiv gelöscht werden

Danach sollte der Quell- und Ziel-Tenant hinsichtlich "Cross-tenant sync" wieder in der Ausgangssituation sein.

Weitere Links

John Savill's Technical Training: Azure AD Cross-Tenant Sync
https://www.youtube.com/watch?v=z0J5kteqUVQ