Zur Beschleunigung der Azure Active Directory Synchronisation unterstützt der Azure Active Directory Konnektor das Verfahren der Delta-Synchronisation. Das Verfahren beruht auf der Delta-Abfrage-Funktion von Microsoft Graph. Es werden die Schematypen User (Benutzerkonto), Group (Gruppe) und DirectoryRole (Administratorrolle) unterstützt. Die Delta-Synchronisation ist standardmäßig nicht aktiviert, sondern muss kundenspezifisch eingerichtet werden.
Inbetriebnahme der Delta-Synchronisation
-
Einrichtung eines regulären Azure Active Directory Synchronisationsprojektes.
-
Ausführen einer initialen Synchronisation.
-
Anpassen des Konfigurationsparameters TargetSystem | AzureAD | DeltaTokenDirectory.
Der Konfigurationsparameter enthält das Verzeichnis, in dem die Delta-Token-Dateien abgelegt werden. Passen Sie im Designer den Wert des Konfigurationsparameter an. Stellen Sie sicher, dass das Benutzerkonto des One Identity Manager Service Schreibrechte auf das Verzeichnis hat.
-
(Optional) Anpassen des Prozesses AAD_Organization_DeltaSync.
Der Prozess besteht aus drei Prozessschritten. Jeder Prozessschritt behandelt einen der drei unterstützten Schematypen. Jeder Prozessschritt ist so konfiguriert, dass alle unterstützten Delta-Eigenschaften des jeweiligen Schematyps synchronisiert werden. Des Weiteren legt jeder dieser Prozessschritte eine eigene Delta-Token-Datei an. Die Reihenfolge der Prozessschritte wurde wie folgt festgelegt:
-
Synchronisieren der Benutzerkonten (Prozessschritt Synchronize User)
-
Synchronisieren der Gruppen (Prozessschritt Synchronize Group)
-
Synchronisieren der Administratorrollen (Prozessschritt Synchronize DirectoryRole)
Stellen Sie bei kundenspezifischen Anpassungen sicher, dass der Prozess nur generiert wird, wenn kein gleichartiger Prozess in der Jobqueue vorhanden ist. Ebenso darf der Prozess nicht während einer regulären Synchronisation starten.
-
-
(Optional) Anpassen der Verarbeitungsskripte für die unterstützten Schematypen.
-
Verarbeiten der Benutzerkonten (Skript AAD_ProcessDeltaQueryUser)
-
Verarbeiten der Gruppen (Skript AAD_ProcessDeltaQueryGroup)
-
Verarbeiten der Administratorrollen (Skript AAD_ProcessDeltaQueryDirectoryRole)
Das Skript AAD_ProcessDeltaQueryGroup wurde mit umfangreichen Kommentaren versehen, um eine Bearbeitung und kundenspezifische Weiterentwicklung zu vereinfachen.
-
-
Anpassen und Aktivieren des Zeitplanes Azure Active Directory Delta-Synchronisation.
Der Zeitplan sorgt für die regelmäßige Ausführung der Delta-Synchronisation der Azure Active Directory Mandanten. Der Zeitplan ist im Standard auf ein Ausführungsintervall von 15 Minuten eingestellt. Passen Sie im Designer das Ausführungsintervall bei Bedarf an. Aktivieren Sie den Zeitplan.
Ablauf der Delta-Synchronisation
-
Für einen Schematyp (Benutzerkonto, Gruppe, Administratorrolle) wird eine initiale Abfrage ausgeführt. Die initiale Abfrage liefert die komplette Liste für den Schematyp, beispielsweise alle Benutzerkonten, mit den abgefragten Eigenschaften. Des Weiteren wird ein Statustoken zurück geliefert. Das Statustoken stellt den Datenzustand zum Zeitpunkt der Abfrage im Azure Active Directory dar.
Das Statustoken und die abgefragten Eigenschaften werden in eine Delta-Token-Datei geschrieben. Im Standard erfolgt keine initiale Verarbeitung der Daten.
Ablagestruktur der Delta-Token-Datei:
<Verzeichnis laut Konfigurationsparameter TargetSystem | AzureAD | DeltaTokenDirectory>\<UID_AADOrganization>_<SchemaTyp>Query.token
Beispiel:
C:\Temp\OneIM\DeltaToken\2da43fd4-ce7b-48af-9a00-686e5e3fb8a5_UserQuery.token
-
Die weiteren Abfragen werden mit dem Statustoken der vorherigen Abfrage ausgeführt. Sie liefern zusätzlich zum neuen Statustoken nur die Objekte, die sich seit der letzten Abfrage geändert haben.
-
Es wird versucht neue Objekte anzulegen, falls alle Pflichteigenschaften abgefragt wurden.
-
Objekte, die im Zielsystem gelöscht wurden, werden generell als Ausstehend markiert.
Objekte, bei denen ein Verarbeitungsfehler aufgetreten ist, werden in den Meldungen des Prozessschritts protokolliert.
Das neue Statustoken wird in die Delta-Token-Datei geschrieben.
-
Einschränkungen
Hinsichtlich der Wiederholfestigkeit hat das Verfahren der Differenzabfragen gewisse Einschränkungen. Wurde ein Statustoken einmal verwendet, ist es im Zweifel ungültig und die Abfrage kann nicht erneut ausgeführt werden. Tritt bei der Verarbeitung der Rückgabedaten ein Fehler auf, kann die entsprechende Änderung erst im nächsten regulären Synchronisationslauf eingelesen werden. Dies trifft beispielsweise auf gemeldete neue Mitgliedschaften einer Gruppe zu, wenn das Mitglied selbst noch nicht eingelesen wurde.
Ein weiterer Nachteil ist die Laufzeit der Initialabfrage und der initialen Verarbeitung der Daten. Von dieser Verarbeitung wird dringend abgeraten. Da die initiale Verarbeitung innerhalb der regulären Synchronisation erfolgen sollte, wird empfohlen in den Prozessschritten den Parameter DoNotProcessOffset auf den Wert True zu setzen (Standard).
Ebenfalls ist zu berücksichtigen, dass nicht alle Eigenschaften mittels Microsoft Graph API Delta-Abfrage abgefragt werden können.
Passen die Daten der Delta-Token-Datei nicht zu den Aufrufparametern einer Abfrage, wird die vorhandene Datei in <alterName>.backup umbenannt, um den Statustoken nicht zu verlieren und eine neue Datei angelegt. In diesem Fall wird eine neue Initialabfrage ausgeführt. Dies geschieht auch, wenn die Datei nicht vorhanden oder leer ist.
Unterstützte Schematypen
Die folgenden Tabellen enthalten die unterstützten Schematypen mit den unterstützen Eigenschaften. Sofern neue Objekte in die Datenbank importiert werden sollen, müssen die Pflichteigenschaften in der Delta-Synchronisation mit angefragt werden.
Eigenschaft |
Pflicht |
Anmerkungen |
---|---|---|
AccountEnabled |
|
|
AgeGroup |
|
|
BusinessPhones |
|
|
City |
|
|
CompanyName |
|
|
ConsentProvidedForMinor |
|
|
Country |
|
|
Department |
|
|
DisplayName |
X |
|
ExternalUserState |
|
|
ExternalUserStateChangeDateTime |
|
|
GivenName |
|
|
ID |
X |
|
JobTitle |
|
|
LastPasswordChangeDateTime |
|
|
LegalAgeGroupClassification |
|
|
Licenses |
|
Bei Abfrage dieser Eigenschaft wird eine zusätzliche Abfrage nach den Status der Zuweisung (LicenseAssignmentStates) des Benutzerkontos ausgeführt. Die Laufzeit erhöht sich dadurch stark. Enthält eine Liste von Objekten mit den Eigenschaften DisabledPlans, SkuId, AssignedByGroup, State und Error. |
|
|
|
MailNickname |
|
|
Manager |
|
|
MobilePhone |
|
|
OfficeLocation |
|
|
OnPremisesDistinguishedName |
|
|
OnPremisesDomainName |
|
|
OnPremisesImmutableId |
|
|
OnPremisesLastSyncDateTime |
|
|
OnPremisesSamAccountName |
|
|
OnPremisesSecurityIdentifier |
|
|
OnPremisesSyncEnabled |
|
|
OnPremisesUserPrincipalName |
|
|
PostalCode |
|
|
PreferredLanguage |
|
|
ProxyAddresses |
|
|
State |
|
|
StreetAddress |
|
|
Surname |
|
|
UsageLocation |
|
|
UserDomain |
x |
|
UserPrincipalName |
x |
|
UserType |
x |
|
Eigenschaft |
Pflicht |
Anmerkungen |
---|---|---|
Description |
|
|
DisplayName |
x |
|
GroupTypes |
x |
|
ID |
x |
|
Licenses |
|
Enthält eine Liste von Objekten mit den Eigenschaften DisabledPlans und SkuId. |
|
|
|
MailEnabled |
x |
|
MailNickName |
x |
|
Members |
|
Die Eigenschaft ist nicht in einer initialer Abfrage verfügbar. Das Ergebnis enthält den Schematyp und die ID. |
OnPremisesSecurityIdentifier |
|
|
OnPremisesSyncEnabled |
|
|
Owners |
|
Die Eigenschaft ist nicht in einer initialer Abfrage verfügbar. Das Ergebnis enthält den Schematyp und die ID. |
ProxyAddresses |
|
|
SecurityEnabled |
x |
|
Eigenschaft |
Pflicht |
Anmerkungen |
---|---|---|
Description |
|
|
DisplayName |
x |
|
ID |
x |
|
Members |
|
Die Eigenschaft ist nicht in einer initialer Abfrage verfügbar. Das Ergebnis enthält den Schematyp und die ID. |