Поделиться через


Microsoft Entra Connect: если у вас есть существующий клиент

Большинство разделов, посвященных использованию Microsoft Entra Connect, предполагает, что вы начинаете с нового клиента Microsoft Entra и что нет пользователей или других объектов. Но если вы начали работу с клиентом Microsoft Entra, заполняли его пользователями и другими объектами, а теперь хотите использовать Connect, этот раздел предназначен для вас.

Основы

Объект в идентификаторе Microsoft Entra управляется в облаке или локальной среде. Для одного объекта нельзя управлять некоторыми атрибутами в локальной среде и некоторыми другими атрибутами в идентификаторе Microsoft Entra. Каждый объект имеет флаг, указывающий, где управляется объект.

Вы можете управлять некоторыми пользователями в локальной среде и другими пользователями в облаке. Распространенный сценарий для этой конфигурации — это организация с сочетанием работников бухгалтерского учета и работников по продажам. У сотрудников учета есть локальная учетная запись AD, а у сотрудников отдела продаж её нет, но у обоих есть учетная запись в Microsoft Entra ID. Вы будете управлять некоторыми пользователями в локальной среде и некоторыми в идентификаторе Microsoft Entra.

There are some extra concerns you need to consider when you started to manage users in Microsoft Entra ID that are also present on-premises, and later want to use Microsoft Entra Connect.

Синхронизация с существующими пользователями в идентификаторе Microsoft Entra

При синхронизации с Microsoft Entra Connect API службы Microsoft Entra проверяет каждый новый входящий объект и пытается найти существующий объект для сопоставления. Для этого процесса используются три атрибута: userPrincipalName, proxyAddressesи sourceAnchor/неизменяемый идентификатор. A match on userPrincipalName or proxyAddresses is known as a "soft-match." A match on sourceAnchor is known as "hard-match." For the proxyAddresses attribute, only the value with SMTP:, that is the primary email address, is used for the evaluation.

The match is only evaluated for new objects coming from on-premises AD. Если изменить существующий объект таким образом, чтобы он соответствовал любому из этих атрибутов, вместо этого появится ошибка.

Если Microsoft Entra ID находит объект, у которого значения атрибутов совпадают с новым входящим объектом из Microsoft Entra Connect, то он поглощает объект в Microsoft Entra ID, и ранее управляемый облаком объект преобразуется в объект с локальным управлением. All attributes in Microsoft Entra ID with a value in on-premises AD are overwritten with the respective on-premises value.

Предупреждение

Так как все атрибуты в идентификаторе Microsoft Entra будут перезаписаны локальным значением, убедитесь, что у вас есть хорошие данные в локальной среде. Например, если у вас есть только управляемый адрес электронной почты в Microsoft 365 и он не обновлен в локальной службе AD DS, то вы потеряете значения в идентификаторе Microsoft Entra ID / Microsoft 365, которые не присутствуют в AD DS.

Important

Если вы используете синхронизацию хэша паролей, которая всегда включена с экспресс-установкой, хэш паролей в идентификаторе Microsoft Entra id перезаписывается с хэшом паролей из локальной AD. Если ваши пользователи привыкли к управлению разными паролями, необходимо сообщить им, что они должны использовать пароль аккаунта Active Directory, установленного на собственных серверах.

В вашем планировании должны быть учтены предыдущий раздел и предупреждение. Если вы внесли много изменений в идентификатор Microsoft Entra, которые не были отражены в локальных AD DS, то чтобы предотвратить потерю данных, необходимо спланировать заполнение AD DS обновленными значениями из идентификатора Microsoft Entra, прежде чем синхронизировать объекты с Microsoft Entra Connect.

If you matched your objects with a soft-match, then the sourceAnchor is added to the object in Microsoft Entra ID so a hard match can be used later.

Important

Корпорация Майкрософт настоятельно не рекомендует синхронизировать локальные учетные записи с существующими административными учетными записями в Microsoft Entra ID.

Hard-match vs soft-match

По умолчанию значение SourceAnchor объекта, например "abcdefghijklmnopqrstuv==", представляет собой строковое представление атрибута mS-Ds-ConsistencyGUID (или ObjectGUID в зависимости от конфигурации) из локального объекта Active Directory. This value is set as the corresponding ImmutableId in Microsoft Entra ID.

При добавлении новых объектов Microsoft Entra Connect или Cloud Sync служба идентификатора Microsoft Entra пытается сопоставить входящий объект с помощью значения sourceAnchor, соответствующего атрибуту ImmutableId существующих объектов в идентификаторе Microsoft Entra ID. If there's a match, Microsoft Entra Connect takes over the source or authority (SoA) of that object and updates it with the properties of the incoming on-premises Active Directory object in what is known as "hard-match." When Microsoft Entra ID can't find any object with an ImmutableId that matches the SourceAnchor value, it tries to use the incoming object's userPrincipalName or primary SMTP address to find a match in what it's known as a "soft-match."

И твердое сопоставление, и мягкое сопоставление пытаются сопоставить объекты, уже имеющиеся и управляемые в Microsoft Entra ID, с новыми входящими объектами, представляющими ту же локальную сущность. If Microsoft Entra ID isn't able to find a hard-match or soft-match for the incoming object, it provisions a new object in Microsoft Entra ID directory.

If Microsoft Entra ID is able to "soft-match" the new incoming object based on primary SMTP address with an existent object managed in Microsoft Entra ID, but this new object has a different sourceAnchor value, then there's an attempt to provision a new object which normally results in a conflict where Microsoft Entra ID is unable to create the new object. Этот конфликт возникает в таких ситуациях, как:

  • Другое значение sourceAnchor было задано в атрибуте mS-Ds-ConsistencyGuid на исходном локальном пользователе AD, который уже синхронизирован с идентификатором Entra.

  • Новый локальный пользователь AD был создан с тем же UPN и основным SMTP-адресом, но имеет другой sourceAnchor и SID.

В таких случаях в Microsoft Entra Connect или Cloud Sync возникает ошибка экспорта AttributeValueMustBeUnique. В зависимости от входящих свойств пользователя эта ошибка может ссылаться на один из следующих конфликтов атрибутов:

  • AttributeConflictName = OnPremiseSecurityIdentifier: the new incoming object has a different sourceAnchor but the same OnPremiseSecurityIdentifier (SID) and primary SMTP address as the existent user in Entra ID directory.

  • AttributeConflictName = ProxyAddresses: the new incoming object has a different sourceAnchor and SID but has the same Primary SMTP address as the existent user in Entra ID directory.

Заметка

В некоторых редких ситуациях конфликт OnPremiseSecurityIdentifier возникает из-за проблемы с локальным пулом AD RID (например, контроллер домена, восстановленный из резервной копии), который может создать нового пользователя с тем же идентификатором безопасности. In such cases, an AttributeValueMustBeUnique error is thrown when trying to provision the user not due to "soft-match" attempts but because the OnPremiseSecurityIdentifier must be unique in Entra ID directory.

Как правило, эти сценарии означают, что вы пытаетесь повторно представить того же пользователя. Чтобы устранить конфликт, необходимо обновить атрибут локального пользователя mS-Ds-ConsistencyGuid, чтобы он соответствовал тому же значению, что и неизменяемый идентификатор существующего облачного пользователя. Это изменение позволяет системе Microsoft Entra ID корректно выполнить "жесткую сопоставку".

Block hard-match in Microsoft Entra ID

Мы добавили параметр конфигурации, чтобы отключить функцию жесткого сопоставления в идентификаторе Microsoft Entra. Мы советуем клиентам отключать жесткое сопоставление, если им не нужно получать контроль над учетными записями, работающими только в облаке.

To disable hard matching, use the Update-MgDirectoryOnPremiseSynchronization Microsoft Graph PowerShell cmdlet:

Connect-MgGraph -Scopes "OnPremDirectorySynchronization.ReadWrite.All"

$OnPremSync = Get-MgDirectoryOnPremiseSynchronization
$OnPremSync.Features.BlockCloudObjectTakeoverThroughHardMatchEnabled = $true
Update-MgDirectoryOnPremiseSynchronization `
    -OnPremisesDirectorySynchronizationId $OnPremSync.Id `
    -Features $OnPremSync.Features

Block soft-match in Microsoft Entra ID

Аналогично, мы добавили параметр конфигурации, чтобы отключить опцию мягкого сопоставления в Microsoft Entra ID. Мы советуем клиентам отключить мягкое сопоставление, если им не нужно управлять только облачными учетными записями.

To disable soft matching, use the Update-MgDirectoryOnPremiseSynchronization Microsoft Graph PowerShell cmdlet:

Connect-MgGraph -Scopes "OnPremDirectorySynchronization.ReadWrite.All"

$OnPremSync = Get-MgDirectoryOnPremiseSynchronization
$OnPremSync.Features.BlockSoftMatchEnabled = $true
Update-MgDirectoryOnPremiseSynchronization `
    -OnPremisesDirectorySynchronizationId $OnPremSync.Id `
    -Features $OnPremSync.Features

Заметка

BlockCloudObjectTakeoverThroughHardMatchEnabled and BlockSoftMatchEnabled are used to block matching for all objects if enabled for the tenant. Клиентам рекомендуется отключить эти функции только в течение периода, когда для их аренды требуется соответствующая процедура. This flag should be set to True again after any matching has been completed and is no longer needed.

Другие объекты, отличные от пользователей

For mail-enabled groups and contacts, you can soft-match based on proxyAddresses. Hard match isn't applicable since you can only update the sourceAnchor/immutableID (using PowerShell) on Users only. For groups that aren't mail-enabled, there's currently no support for soft-match or hard-match.

Соображения по роли администратора

Чтобы защититься от ненадежных локальных пользователей, идентификатор Microsoft Entra ID не будет сопоставлять локальных пользователей с облачными пользователями, обладающими ролью администратора. Это поведение по умолчанию. Чтобы обойти эту проблему, выполните следующие действия.

  1. Удалите роли каталога из объекта пользователя, существующего только в облаке.

  2. Жестко удалите новый объект в карантине, созданный в облаке.

  3. Активируйте новый цикл синхронизации.

  4. При необходимости добавьте роли каталога обратно в объект пользователя в облаке после завершения сопоставления.

Создание локального Active Directory из данных в идентификаторе Microsoft Entra

Некоторые клиенты начинают с облачного решения с идентификатором Microsoft Entra ID, и у них нет локальной службы AD. Позже они хотят использовать локальные ресурсы и хотят создать локальную AD на основе данных Microsoft Entra. Microsoft Entra Connect не может помочь вам в этом сценарии. Он не создает локальных пользователей и не имеет возможности задать пароль локально, как и в идентификаторе Microsoft Entra.

If the only reason why you plan to add on-premises AD is to support LOBs (Line-of-Business apps), then maybe you should consider to use Microsoft Entra Domain Services instead.

Дальнейшие действия

Learn more about Integrating your on-premises identities with Microsoft Entra ID.