Если вам нужно уникальное значение в записях пользователей и групп, вы можете посмотреть атрибут objectSID .Строковое представление LDAP представляет собой OctetString , но вы можете найти код для его преобразования в ASCII-чистое так называемое представление SDDL.
Обратите внимание, что SID содержат SID домена в качестве префикса.Таким образом, в случае переноса домена новые SID генерируются, а старые SID помещаются в атрибут sIDHistory до очистки администраторами AD.
Однако, если вы ищете первичный ключ длясинхронизировать данные с внешним источником данных. Я бы создал уникальное значение в этом внешнем источнике данных и поместил бы его в employeeID или employeeNumber .
В то время как многие другие атрибуты имеютчтобы быть уникальными, некоторые не являются на самом деле стабильными или локальными и поэтому не подходят, например, для синхронизации данных:
objectGUID глобально уникален, потому что это UUID (см. RFC 4122 ) кодируется как OctetString .Но IIRC не является стабильным для всех реплик.
samAccountName и userPrincipalName часто получаются из имен пользователей.RDN записи в AD также основано на cn , который в большинстве случаев содержит имя человека.Значения, полученные из имени человека, вероятно, будут изменены после вступления в брак / развода и т. Д.
=>
- Лучшим атрибутом для синхронизации является самогенерируемый идентификатор (например, UUID).
- 2-й лучший атрибут - objectSID , используемый в сочетании с sIDHistory для определения местоположения записи.Обязательно синхронизируйте текущее значение objectSID с вашим источником данных.