SourceAnchor User

Diese Seite befasst sich mit den Details bei der Verwendung und Bestimmung des Sourceanchor, auch als ImmutableID oder ms-DS-ConsitencyGUID bezeichnet.

Ablauf: Benutzer neu anlegen

Diese Beschreibung gilt für ADSync aber nicht für AzureAD Cloud Sync, dieser das Feld "ms-ds-consistencyGUID" nicht zurückschreibt.
Siehe https://learn.microsoft.com/en-us/azure/active-directory/cloud-sync/reference-cloud-sync-faq#does-cloud-sync-support-writeback-of-ms-ds-consistencyguid-for-any-object-

Am einfachsten können Sie die Logik verstehen, wenn wir den Ablauf von ADSync analysieren, der bei der Neuanlage eines Benutzers erfolgt:

Schritt Beschreibung Details

1

Lokales AD-Objekte wird angelegt

Das Feld "ms-DS-ConsitencyGuid" ist leer, da die lokalen Tools ja nichts davon wissen.

Hier ein Auszug per LDIFDE. Das Feld "ms-DS-ConsistencyGuid" ist nicht gefüllt

dn: CN=ADUser8,OU=Firma,DC=carius,DC=de
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: ADUser8
givenName: ADUser8
distinguishedName: CN=ADUser8,OU=Firma,DC=carius,DC=de
instanceType: 4
whenCreated: 20210203221754.0Z
whenChanged: 20210203221754.0Z
displayName: ADUser8
uSNCreated: 1767140
uSNChanged: 1767145
name: ADUser8
objectGUID:: kZj7niGua0Gz92mIDCl+Tw==
userAccountControl: 512
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
pwdLastSet: 132568642745385468
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAwM8SUMELJU0m/cWzfAQAAA==
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: ADUser8
sAMAccountType: 805306368
userPrincipalName: ADUser8@carius.de
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=carius,DC=de
dSCorePropagationData: 16010101000000.0Z

2

ADSync "Delta Import"

Das Objekt landet über den "Delta Import" der lokalen Domäne im Connectorspace. Da sich im AzureAD nichts geändert hat, liefert der Import aus der Cloud keine Änderungen. Im Metaverse ist noch nichts von dem neuen Objekt zu sehen.

3

ADSync "Delta Sync"

Der zweite Schritt ist der "DeltaSync" der lokalen Domäne um das Objekt ins Metaverse zu übertragen.


 

Info

Durch den DeltaSync landet der Benutzer im Metaverse aber auch schon im Connectorspace zur Cloud und beide Objekte haben den SourceAnchor.

Sie sehen schon hier, dass der Wert der ObjectGUID entspricht.

Info

Die Syntaxregel ist hier nicht voll lesbar und auch sonst schwer zu lesen. Wenn das Feld ms-DS-ConsistencyGuid gefüllt ist, wird dieses Feld genutzt. Ansonsten wird die immer vorhandene ObjectGUID herangezogen. Dies gilt für Benutzer

Info

Im Connectorspace zum Active Directory sind die Änderung natürlich noch nicht angekommen.

Der erste Sync hat erst die Daten aus dem Connector Space des AD ins Metaverse übertragen und dabei wurde erst der SourceAnchor angelegt.

4

ADSync Export

Der Export überträgt die Änderungen aus dem jeweiligen Connectorspace in das Zielsystem.

Der Export in Richtung lokalem Active Diretory hat noch nichts zu schreiben

Info

Pause

Der ADSync Prozess synchronisiert in der Regel alle 30 Minuten. Das Provisioning ist aber noch nicht abgeschlossen 

PS C:\> Get-ADSyncScheduler

AllowedSyncCycleInterval            : 00:30:00
CurrentlyEffectiveSyncCycleInterval : 00:30:00
CustomizedSyncCycleInterval         :
NextSyncCyclePolicyType             : Delta
NextSyncCycleStartTimeInUTC         : 03.02.2021 22:46:48
PurgeRunHistoryInterval             : 7.00:00:00
SyncCycleEnabled                    : False
MaintenanceEnabled                  : True
StagingModeEnabled                  : False
SchedulerSuspended                  : False
SyncCycleInProgress                 : False

5

Delta Import

Beim nächsten Import kommt nun aus dem AzureAD ein Update.

Auf dem lokalen AD gibt es keine Änderungen

6

Delta Sync

Die Änderungen aus dem Connector Space landen nun im Metaverse und im CS zum Active Directory.

Hier sehen wir auch, dass der SourceAnchor aus dem AzureAD zurückgelesen und Richtung Active Directory repliziert wird, obwohl das Feld schon bei der ersten Synchronisation aus dem AD zur Cloud im Metaverse gefüllt wurde.

Der DeltaSync zu Azure hat keine Änderungen zu übertragen

7

Export zum AD

Hier wird nun, wie erwartet, das Feld ms-DS-ConsistencyGuid aktualisiert


Im lokalen AD erscheint dann das Feld beim Benutzer

8

Export zum AzureAD

Aber auch zum AzureAD gibt es noch ein Update. So richtig einordnen kann es aber nicht, warum hier ein Feld "On-PremisesUserPrincipalName" im Azure AD gelöscht wird, welches vorher noch nie erschienen ist.

Bleibt also festzuhalten:

  • Bei neuen Objekten kommt die ObjectGUID als SourceAnchor zum Einsatz
  • Bei bestehenden Objekten liest ADSync die ms-DS-ConsistencyGUID und ersatzweise die ObjectGUID.
  • ADSync erstellt die BASE64-codierte ImmutableID
  • ADSync schreibt die ImmutableID in der Cloud
    d.h. sie wird nicht von Azure erstellt oder bestimmt.
  • ADSync schreibt lokal das Feld "ms-DS-consistencyGUID
    Bei der Umstellung wird das

Weitere Links