Синхронизация удостоверений и устойчивость повторяющихся атрибутовIdentity synchronization and duplicate attribute resiliency

Устойчивость повторяющихся атрибутов — это компонент Azure Active Directory, устраняющий проблемы из-за конфликтов атрибутов UserPrincipalName и ProxyAddress при запуске средств синхронизации Майкрософт.Duplicate Attribute Resiliency is a feature in Azure Active Directory that will eliminate friction caused by UserPrincipalName and ProxyAddress conflicts when running one of Microsoft’s synchronization tools.

Эти два атрибута обычно должны быть уникальными для всех объектов Пользователь, Группа и Контакт в заданном клиенте Azure Active Directory.These two attributes are generally required to be unique across all User, Group, or Contact objects in a given Azure Active Directory tenant.

Примечание

Только пользователи могут иметь имена участников-пользователей (UPN).Only Users can have UPNs.

Новое поведение, которое обеспечивает этот компонент, применяется в облачной части конвейера синхронизации. Поэтому оно не зависит от клиента и может применяться к любому продукту корпорации Майкрософт, включая Azure AD Connect, DirSync и MIM + соединитель.The new behavior that this feature enables is in the cloud portion of the sync pipeline, therefore it is client agnostic and relevant for any Microsoft synchronization product including Azure AD Connect, DirSync and MIM + Connector. В этом документе универсальный термин "клиент синхронизации" означает любой из этих продуктов.The generic term “sync client” is used in this document to represent any one of these products.

Текущее поведениеCurrent behavior

При попытке подготовить новый объект с помощью значения UPN или ProxyAddress, которое нарушает ограничение уникальности, Azure Active Directory блокирует создание этого объекта.If there is an attempt to provision a new object with a UPN or ProxyAddress value that violates this uniqueness constraint, Azure Active Directory blocks that object from being created. Если объект обновляется с помощью неуникальных значений UPN или ProxyAddress, обновление не удается выполнитьSimilarly, if an object is updated with a non-unique UPN or ProxyAddress, the update fails. Клиент синхронизации повторяет попытку подготовки или обновления после каждого цикла экспорта, но эта попытка завершается сбоем, пока конфликт не устраняется.The provisioning attempt or update is retried by the sync client upon each export cycle, and continues to fail until the conflict is resolved. После каждой попытки клиент синхронизации создает сообщение электронной почты с отчетом об ошибке и регистрирует ошибку в журнале.An error report email is generated upon each attempt and an error is logged by the sync client.

Поведение с устойчивостью повторяющихся атрибутовBehavior with Duplicate Attribute Resiliency

Azure Active Directory не завершает сбоем подготовку или обновление объекта с повторяющимся атрибутом. Вместо этого Azure Active Directory "помещает на карантин" повторяющийся атрибут, который нарушает ограничение уникальности.Instead of completely failing to provision or update an object with a duplicate attribute, Azure Active Directory “quarantines” the duplicate attribute which would violate the uniqueness constraint. Если этот атрибут необходим для подготовки, как, например UserPrincipalName, служба назначает значение заполнителя.If this attribute is required for provisioning, like UserPrincipalName, the service assigns a placeholder value. Формат этих временных значений следующий:The format of these temporary values is
"<OriginalPrefix > +<4DigitNumber >@<InitialTenantDomain >. onmicrosoft.com«.<OriginalPrefix>+<4DigitNumber>@<InitialTenantDomain>.onmicrosoft.com”.
Если атрибут не обязателен (например, ProxyAddress), то Azure Active Directory просто помещает конфликтующий атрибут в карантин и приступает к созданию или обновлению объекта.If the attribute is not required, like a ProxyAddress, Azure Active Directory simply quarantines the conflict attribute and proceeds with the object creation or update.

После помещения атрибута на карантин сведения о конфликте отправляются в том же сообщении электронной почты с отчетом об ошибке, которое использовалось в старом поведении.Upon quarantining the attribute, information about the conflict is sent in the same error report email used in the old behavior. Но эта информация отображается в отчете об ошибке только один раз, когда атрибут помещается на карантин. Она не записывается в будущие сообщения электронной почты.However, this info only appears in the error report one time, when the quarantine happens, it does not continue to be logged in future emails. Кроме того, так как данный объект успешно экспортирован, клиент синхронизации не регистрирует ошибку и не повторяет операцию создания или обновления после следующих циклов синхронизации.Also, since the export for this object has succeeded, the sync client does not log an error and does not retry the create / update operation upon subsequent sync cycles.

Для поддержки этого поведения в классы объектов "Пользователь", "Группа" и "Контакт" добавлен новый атрибут —To support this behavior a new attribute has been added to the User, Group, and Contact object classes:
DirSyncProvisioningErrorsDirSyncProvisioningErrors

Это многозначный атрибут, используемый для хранения конфликтующих атрибутов, которые нарушают ограничение уникальности, если добавляются как обычно.This is a multi-valued attribute that is used to store the conflicting attributes that would violate the uniqueness constraint should they be added normally. В Azure Active Directory включена фоновая задача таймера, которая запускается каждый час. Эта задача ищет разрешенные конфликты повторяющихся атрибутов и автоматически удаляет такие атрибуты из карантина.A background timer task has been enabled in Azure Active Directory that runs every hour to look for duplicate attribute conflicts that have been resolved, and automatically removes the attributes in question from quarantine.

Включение устойчивости повторяющихся атрибутовEnabling Duplicate Attribute Resiliency

Устойчивость повторяющихся атрибутов будет новым режимом по умолчанию для всем клиентов Azure Active Directory.Duplicate Attribute Resiliency will be the new default behavior across all Azure Active Directory tenants. Этот режим будет включен по умолчанию для всех клиентов, для которых синхронизация была включена впервые 22 августа 2016 года или позже.It will be on by default for all tenants that enabled synchronization for the first time on August 22nd, 2016 or later. Клиенты, для которых синхронизация была включена до этой даты, смогут включить данный режим с помощью выпускаемых пакетов.Tenants that enabled sync prior to this date will have the feature enabled in batches. Выпуск начнется в сентябре 2016 года, и каждое контактное лицо по техническим вопросам клиента получит уведомление по электронной почте, в котором будет указана дата, когда эта функция будет включена.This rollout will begin in September 2016, and an email notification will be sent to each tenant's technical notification contact with the specific date when the feature will be enabled.

Примечание

После включения режим устойчивости повторяющихся атрибутов невозможно отключить.Once Duplicate Attribute Resiliency has been turned on it cannot be disabled.

Чтобы проверить, включена ли эта функция для вашего клиента, можно скачать последнюю версию модуля PowerShell для Azure Active Directory и выполнив следующие командлеты.To check if the feature is enabled for your tenant, you can do so by downloading the latest version of the Azure Active Directory PowerShell module and running:

Get-MsolDirSyncFeatures -Feature DuplicateUPNResiliency

Get-MsolDirSyncFeatures -Feature DuplicateProxyAddressResiliency

Примечание

С помощью командлета Set-MsolDirSyncFeature больше нельзя упреждающе включать функцию "Устойчивость повторяющихся атрибутов", прежде чем она будет включена для вашего клиента.You can no longer use Set-MsolDirSyncFeature cmdlet to proactively enable the Duplicate Attribute Resiliency feature before it is turned on for your tenant. Чтобы протестировать эту функцию, необходимо создать клиент Azure Active Directory.To be able to test the feature, you will need to create a new Azure Active Directory tenant.

Идентификация объектов с DirSyncProvisioningErrorsIdentifying Objects with DirSyncProvisioningErrors

В настоящее время существует два метода для идентификации объектов, содержащие эти ошибки из-за конфликтов повторяющихся свойств, Azure Active Directory PowerShell и Центр администрирования Microsoft 365.There are currently two methods to identify objects that have these errors due to duplicate property conflicts, Azure Active Directory PowerShell and the Microsoft 365 admin center. В будущем планируется добавить к этим средствам создание отчетов на портале.There are plans to extend to additional portal based reporting in the future.

PowerShell Azure Active DirectoryAzure Active Directory PowerShell

Для командлетов PowerShell, упомянутых в этой статье, верны следующие утверждения:For the PowerShell cmdlets in this topic, the following is true:

  • все командлеты вводятся с учетом регистра;All of the following cmdlets are case sensitive.
  • Необходимо всегда указывать флаг -ErrorCategory PropertyConflict .The –ErrorCategory PropertyConflict must always be included. Других типов ErrorCategoryсейчас нет, но они могут быть добавлены в будущем.There are currently no other types of ErrorCategory, but this may be extended in the future.

Для начала выполните командлет Connect-MsolService и введите учетные данные администратора клиента.First, get started by running Connect-MsolService and entering credentials for a tenant administrator.

Затем используйте следующие командлеты и операторы для просмотра ошибок разными способами.Then, use the following cmdlets and operators to view errors in different ways:

  1. Смотреть всеSee All
  2. По типу свойства.By Property Type
  3. По конфликтующему значению.By Conflicting Value
  4. С помощью поиска по строкам.Using a String Search
  5. Сортированные.Sorted
  6. В ограниченном количестве или все.In a Limited Quantity or All

Смотреть всеSee all

Чтобы просмотреть общий список ошибок подготовки атрибутов в клиенте, после подключения запустите следующий командлет.Once connected, to see a general list of attribute provisioning errors in the tenant run:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict

Вы получите результат, похожий на приведенный ниже.This produces a result like the following:
Get-MsolDirSyncProvisioningErrorGet-MsolDirSyncProvisioningError

По типу свойства.By property type

Чтобы просмотреть ошибки по типу свойства, добавьте флаг -PropertyName с аргументом UserPrincipalName или ProxyAddresses.To see errors by property type, add the -PropertyName flag with the UserPrincipalName or ProxyAddresses argument:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName UserPrincipalName

илиOr

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName ProxyAddresses

По конфликтующему значению.By conflicting value

Чтобы просмотреть ошибки, относящиеся к конкретному свойству, добавьте флаг -PropertyValue (при добавлении этого флага следует использовать также атрибут -PropertyName).To see errors relating to a specific property add the -PropertyValue flag (-PropertyName must be used as well when adding this flag):

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyValue User@domain.com -PropertyName UserPrincipalName

Чтобы выполнить поиск по всем строкам, добавьте флаг -SearchString .To do a broad string search use the -SearchString flag. Этот флаг можно использовать отдельно от всех флагов, упомянутых выше, за исключением флага -ErrorCategory PropertyConflict, который необходимо использовать всегда.This can be used independently from all of the above flags, with the exception of -ErrorCategory PropertyConflict, which is always required:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -SearchString User

В ограниченном количестве или все.In a limited quantity or all

  1. MaxResults <Int > может использоваться для ограничения запроса определенным количеством значений.MaxResults <Int> can be used to limit the query to a specific number of values.
  2. All гарантирует получение всех результатов в случае большого количества ошибок.All can be used to ensure all results are retrieved in the case that a large number of errors exists.

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -MaxResults 5

Центр администрирования Microsoft 365Microsoft 365 admin center

Ошибки синхронизации каталогов можно просмотреть в центре администрирования Microsoft 365.You can view directory synchronization errors in the Microsoft 365 admin center. Отчет в Microsoft 365 admin center отображение пользователя объекты, содержащие эти ошибки.The report in the Microsoft 365 admin center only displays User objects that have these errors. Этот отчет не содержит сведений о конфликтах между такими объектами, как Группы и Контакты.It does not show info about conflicts between Groups and Contacts.

Активные пользователиActive Users

Инструкции о том, как просмотреть ошибки синхронизации каталогов в центре администрирования Microsoft 365, см. в разделе определение ошибок синхронизации службы каталогов в Office 365.For instructions on how to view directory synchronization errors in the Microsoft 365 admin center, see Identify directory synchronization errors in Office 365.

Отчет об ошибках синхронизации удостоверенийIdentity synchronization error report

Когда объект с конфликтом повторяющихся атрибутов обрабатывается с помощью нового поведения, в электронное письмо, содержащее стандартный отчет об ошибках синхронизации удостоверений, добавляется уведомление. Это письмо отправляется контакту клиента, предназначенному для технических уведомлений.When an object with a duplicate attribute conflict is handled with this new behavior a notification is included in the standard Identity Synchronization Error Report email that is sent to the Technical Notification contact for the tenant. Но в этом поведении есть важные изменения.However, there is an important change in this behavior. Раньше сведения о конфликте повторяющихся атрибутов включались в каждый отчет об ошибках до тех пор, пока конфликт не разрешался.In the past, information about a duplicate attribute conflict would be included in every subsequent error report until the conflict was resolved. После включения нового поведения уведомление об ошибке, связанное с тем или иным конфликтом, отображается только один раз: когда конфликтующий атрибут помещается на карантин.With this new behavior, the error notification for a given conflict does only appear once- at the time the conflicting attribute is quarantined.

Вот как выглядит уведомление электронной почты о конфликте ProxyAddress:Here is an example of what the email notification looks like for a ProxyAddress conflict:
Активные пользователиActive Users

Разрешение конфликтовResolving conflicts

Стратегия устранения неполадок и методика разрешения этих ошибок не должны отличаться от того, как ошибки повторяющихся атрибутов обрабатывались раньше.Troubleshooting strategy and resolution tactics for these errors should not differ from the way duplicate attribute errors were handled in the past. Единственное различие заключается в том, что задача таймера переходит через клиент на стороне службы и автоматически добавляет спорный атрибут в правильный объект после разрешения конфликта.The only difference is that the timer task sweeps through the tenant on the service-side to automatically add the attribute in question to the proper object once the conflict is resolved.

Различные стратегии устранения неполадок описаны в статье Duplicate or invalid attributes prevent directory synchronization in Office 365 (Запрет синхронизации службы каталогов в Office 365 из-за повторяющихся или недопустимых атрибутов).The following article outlines various troubleshooting and resolution strategies: Duplicate or invalid attributes prevent directory synchronization in Office 365.

Известные проблемыKnown issues

Ни одна из известных проблем не приводит к потере данных или снижению производительности службы.None of these known issues causes data loss or service degradation. Некоторые из них касаются внешнего вида, другие приводят к стандартным ошибкам повторяющихся атрибутов, которые возникали до включения режима устойчивости (эти ошибки отображаются вместо помещения в карантин конфликтующих атрибутов). Некоторые проблемы вызывают определенные ошибки, которые требуется дополнительно устранять вручную.Several of them are aesthetic, others cause standard “pre-resiliency” duplicate attribute errors to be thrown instead of quarantining the conflict attribute, and another causes certain errors to require extra manual fix-up.

Основное поведениеCore behavior:

  1. Объекты с определенными конфигурациями атрибутов по-прежнему вызывают ошибки экспорта вместо помещения в карантин повторяющихся атрибутов.Objects with specific attribute configurations continue to receive export errors as opposed to the duplicate attribute(s) being quarantined.
    Пример:For example:

    a.a. Пользователь будет создан в AD с именем участника-пользователя Джо@contoso.com и ProxyAddress smtp:Joe@contoso.comNew user is created in AD with a UPN of Joe@contoso.com and ProxyAddress smtp:Joe@contoso.com

    2.b. Свойства этого объекта конфликтуют с существующей группой, где ProxyAddress SMTP:Joe@contoso.com.The properties of this object conflict with an existing Group, where ProxyAddress is SMTP:Joe@contoso.com.

    c.c. После экспорта отображается ошибка о конфликте ProxyAddress , при этом конфликтующие атрибуты не помещаются на карантин.Upon export, a ProxyAddress conflict error is thrown instead of having the conflict attributes quarantined. Операция повторяется после каждого цикла синхронизации, как это и происходило до включения компонента устойчивости.The operation is retried upon each subsequent sync cycle, as it would have been before the resiliency feature was enabled.

  2. Если локально создаются две группы с одним и тем же адресом SMTP, то одну группу не удается подготовить с первой попытки из-за стандартной ошибки повторяющихся значений ProxyAddress .If two Groups are created on-premises with the same SMTP address, one fails to provision on the first attempt with a standard duplicate ProxyAddress error. Но на следующем цикле синхронизации повторяющиеся значения будут правильно помещены на карантин.However, the duplicate value is properly quarantined upon the next sync cycle.

Отчет на портале OfficeOffice Portal Report:

  1. Подробное сообщение об ошибке для двух объектов в конфликте, связанном с именем UPN, содержит одинаковые сведения.The detailed error message for two objects in a UPN conflict set is the same. Это означает, что свойство UPN обоих объектов изменено или помещено на карантин, но на самом деле данные изменились только в одном объекте.This indicates that they have both had their UPN changed / quarantined, when in fact only a one of them had any data changed.

  2. Подробное сообщение об ошибке, связанное с конфликтом UPN, показывает неправильное свойство displayName пользователя, имя UPN которого изменено или помещено на карантин.The detailed error message for a UPN conflict shows the wrong displayName for a user who has had their UPN changed/quarantined. Пример:For example:

    a.a. Пользователь А синхронизируется до интеграции с имени участника-пользователя = пользователь@contoso.com.User A syncs up first with UPN = User@contoso.com.

    2.b. Пользователь Б является попытка синхронизировать время с имени участника-пользователя = пользователь@contoso.com.User B is attempted to be synced up next with UPN = User@contoso.com.

    c.c. Пользователь Б имени участника-пользователя меняется на User1234@contoso.onmicrosoft.com и пользователя@contoso.com добавляется DirSyncProvisioningErrors .User B’s UPN is changed to User1234@contoso.onmicrosoft.com and User@contoso.com is added to DirSyncProvisioningErrors.

    d.d. Сообщение об ошибке для пользователь Б следует указать, что пользователь A уже пользователя@contoso.com как имя участника-пользователя, но он показывает пользователя B собственные displayName.The error message for User B should indicate that User A already has User@contoso.com as a UPN, but it shows User B’s own displayName.

Отчет об ошибках синхронизации удостоверений.Identity synchronization error report:

Ссылка на указания по устранению этой проблемы неправильная.The link for steps on how to resolve this issue is incorrect:
Активные пользователиActive Users

Она должна указывать на https://aka.ms/duplicateattributeresiliency.It should point to https://aka.ms/duplicateattributeresiliency.

См. такжеSee also