Технический справочник по универсальному соединителю LDAP

В этой статье описывается универсальный соединитель LDAP. Статья относится к следующим продуктам:

Для MIM2016 соединитель можно скачать в Центре загрузки Майкрософт.

При упоминании документов RFC от IETF в этом документе используется формат (RFC [номер документа RFC]/[раздел в документе RFC]), например (RFC 4512/4.3). Дополнительные сведения см. на странице https://tools.ietf.org/. На левой панели введите номер RFC в диалоговом окне Выбор документов и проверьте его, чтобы убедиться, что он является допустимым.

Примечание

Microsoft Entra ID теперь предоставляет упрощенное решение на основе агента для подготовки пользователей на LDAPv3-сервере без необходимости развертывания синхронизации MIM. Мы рекомендуем использовать его для подготовки исходящих пользователей. Подробнее.

Общие сведения об универсальном соединителе LDAP

Универсальный соединитель LDAP позволяет интегрировать службу синхронизации с сервером LDAP версии 3.

Некоторые операции и элементы схемы, например те, которые необходимы для разностного импорта, не указаны в RFC IETF. Для таких операций поддерживаются только явно указанные каталоги LDAP.

Для подключения к каталогам мы тестируем с помощью учетной записи root или admin. Чтобы использовать другую учетную запись для применения более детализированных разрешений, может потребоваться ознакомиться с командой каталогов LDAP.

Текущий выпуск соединителя поддерживает следующие функции:

Компонент Поддержка
Подключенный источник данных Соединитель поддерживается всеми серверами LDAP версии 3 (совместимыми с RFC 4510), за исключением случаев, когда они не поддерживаются. Она была протестирована на следующих серверах каталогов:
  • Службы облегченного доступа к каталогам Microsoft Active Directory (AD LDS).
  • Глобальный каталог Microsoft Active Directory (AD GC).
  • 389 Directory Server
  • Apache Directory Server.
  • IBM Tivoli DS.
  • Isode Directory.
  • NetIQ eDirectory.
  • Novell eDirectory.
  • Open DJ.
  • Open DS.
  • Open LDAP (openldap.org).
  • Oracle (предыдущее название — Sun) Directory Server Enterprise Edition.
  • RadiantOne Virtual Directory Server (VDS).
  • Sun One Directory Server.
  • Microsoft доменные службы Active Directory (AD DS)
    • В большинстве сценариев необходимо использовать встроенный соединитель Active Directory, так как некоторые функции могут не работать.
    Известные известные каталоги или функции не поддерживаются:
  • Microsoft доменные службы Active Directory (AD DS)
    • Служба уведомлений об изменении пароля (PCNS)
    • Подготовка Exchange
    • Удаление активных устройств синхронизации
    • Поддержка nTDescurityDescriptor
  • Oracle Internet Directory (OID).
  • Сценарии
  • Управление жизненным циклом объекта
  • Управление группами
  • Управление паролями
  • Operations Следующие операции поддерживаются во всех каталогах LDAP:
  • полный импорт;
  • Экспорт
  • Следующие операции поддерживаются только в указанных каталогах:
  • Импорт изменений
  • Установка пароля, изменение пароля.
  • схема
  • Схема определяется из схемы LDAP (RFC3673 и RFC4512/4.2).
  • Поддерживаются структурные классы, дополнительные классы и класс объектов extensibleObject (RFC4512/4.3).
  • Поддержка импорта изменений и управления паролями

    Поддерживаемые каталоги для импорта изменений и управления паролями:

    • Службы облегченного доступа к каталогам Microsoft Active Directory (AD LDS).
      • Поддерживаются все операции импорта изменений.
      • Поддерживается установка пароля.
    • Глобальный каталог Microsoft Active Directory (AD GC).
      • Поддерживаются все операции импорта изменений.
      • Поддерживается установка пароля.
    • 389 Directory Server
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Apache Directory Server.
      • Не поддерживает разностный импорт, так как в этом каталоге нет постоянного журнала изменений
      • Поддерживается установка пароля.
    • IBM Tivoli DS.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Isode Directory.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Novell eDirectory и NetIQ eDirectory.
      • В контексте импорта изменений поддерживаются операции добавления, обновления и переименования.
      • Не поддерживает операции удаления для разностного импорта
      • Поддерживаются установка и изменение пароля.
    • Open DJ.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Open DS.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Open LDAP (openldap.org).
      • Поддерживаются все операции импорта изменений.
      • Поддерживается установка пароля.
      • Не поддерживает изменение пароля
    • Oracle (предыдущее название — Sun) Directory Server Enterprise Edition.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • RadiantOne Virtual Directory Server (VDS).
      • Требуется версия 7.1.1 или более новая.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.
    • Sun One Directory Server.
      • Поддерживаются все операции импорта изменений.
      • Поддерживаются установка и изменение пароля.

    Предварительные требования

    Прежде чем использовать соединитель, установите на сервере синхронизации такие компоненты:

    • Microsoft .NET 4.6.2 Framework или более поздней версии

    Для развертывания этого соединителя могут потребоваться изменения конфигурации сервера каталогов, а также изменения конфигурации MIM. Для развертываний, связанных с интеграцией MIM со сторонним сервером каталогов в рабочей среде, мы рекомендуем клиентам обращаться к поставщику сервера каталогов или партнеру по развертыванию, чтобы получить помощь, рекомендации и поддержку по этой интеграции.

    Обнаружение сервера LDAP

    Соединитель находит и определяет сервер LDAP с помощью разных методов. Соединитель использует атрибут RootDSE, имя поставщика и версию сервера, а также ищет в схеме уникальные объекты и атрибуты, свойственные для определенных серверов LDAP. Если эти данные найдены, они автоматически добавляются в конфигурацию соединителя.

    Права на доступ к подключенному источнику данных

    Чтобы импортировать и экспортировать объекты, хранящиеся в подключенном каталоге, учетной записи соединителя должны быть предоставлены соответствующие разрешения. Для экспорта соединителю требуются разрешения на запись, а для импорта — на чтение. Разрешения настраиваются с помощью средств управления, предоставляемых целевым каталогом.

    Порты и протоколы

    Соединитель использует номер порта, указанный в конфигурации. По умолчанию это 389 для LDAP и 636 для LDAPS.

    Для LDAPS необходимо использовать протокол SSL 3.0 или TLS. SSL 2.0 не поддерживается и не может быть активирован.

    Необходимые элементы управления и компоненты

    Для правильной работы соединителя на сервере LDAP должны быть доступны следующие элементы управления и компоненты LDAP:
    1.3.6.1.4.1.4203.1.5.3 Логические фильтры

    Зачастую в описании каталога LDAP не говорится о поддержке логических фильтров, и поэтому они иногда упоминаются на глобальной странице в разделе Не найденные обязательные компоненты. Логические фильтры используются для создания фильтров ИЛИ в запросах LDAP, например при импорте нескольких типов объектов. Если вы можете импортировать несколько типов объектов, ваш сервер LDAP поддерживает эту функцию.

    Если вы используете каталог, в котором привязкой является уникальный идентификатор, также должна быть доступна следующая функция (дополнительные сведения см. в разделе Настройка привязок ):
    Все операционные атрибуты (1.3.6.1.4.1.4203.1.5.1).

    Если количество объектов в каталоге превышает количество результатов, которое может вернуть один вызов к каталогу, рекомендуется использовать разбиение на страницы. Для разбивки на страницы вам потребуются дополнительные элементы управления:

    Вариант 1.
    1.2.840.113556.1.4.319 pagedResultsControl.

    Вариант 2.
    VLVControl (2.16.840.1.113730.3.4.9).
    1.2.840.113556.1.4.473 SortControl.

    Если в конфигурации соединителя указаны оба варианта, будет использоваться элемент pagedResultsControl.

    1.2.840.113556.1.4.417 ShowDeletedControl.

    ShowDeletedControl используется только при импорте изменений с помощью атрибута USNChanged. Основная цель — просмотр удаленных объектов.

    Соединитель пытается найти эти параметры на сервере. Если параметры не найдены, на странице глобальных свойств соединителя появится предупреждение. Не все серверы LDAP сообщают о поддержке всех элементов управления и компонентов, поэтому даже при появлении такого предупреждения соединитель может работать без проблем.

    Импорт изменений

    Разностный импорт доступен только при обнаружении каталога, который его поддерживает. Сейчас используются следующие способы импорта:

    • Использование журнала доступа LDAP. См. ведениеhttp://www.openldap.org/doc/admin24/overlays.html#Access журнала
    • Использование журнала изменений LDAP. См. раздел http://tools.ietf.org/html/draft-good-ldap-changelog-04
    • Используется метка времени. В каталогах Novell и NetIQ eDirectory для получения созданных и обновленных объектов соединитель будет использовать последнее значение даты и времени. Novell/NetIQ eDirectory не предоставляет эквивалентные средства для извлечения удаленных объектов. Этот способ можно использовать также в том случае, если на сервере LDAP нет других способов импорта изменений. Этот параметр не может импортировать удаленные объекты.
    • Используется атрибут USNChanged. См. статью: https://msdn.microsoft.com/library/ms677627.aspx

    Не поддерживается

    Следующие функции LDAP не поддерживаются:

    • Ссылки LDAP между серверами (RFC 4511/4.1.10).

    Создание нового соединителя

    Чтобы создать универсальный соединитель LDAP, в службе синхронизации последовательно выберите элементы Агент управления и Создать. Выберите универсальный соединитель LDAP (Microsoft) .

    Пользовательский интерфейс синхронизации MIM для создания нового соединителя

    Соединение

    На странице подключения укажите имя узла, номер порта и сведения о привязке. В зависимости от типа выбранной привязки может потребоваться указать дополнительные сведения.

    Страница подключения конфигурации соединителя синхронизации MIM

    • Параметр «Время ожидания подключения» используется только для первого подключения к серверу при определении схемы.
    • Если выбрана анонимная привязка, указывать сертификат или имя пользователя и пароль не нужно.
    • Для других типов привязки потребуется указать имя пользователя и пароль либо выбрать сертификат.
    • Если для проверки подлинности используется Kerberos, укажите область или домен пользователя.

    Текстовое поле Псевдонимы атрибутов предназначено для атрибутов, определенных в схеме с помощью синтаксиса RFC 4522. Эти атрибуты не могут быть обнаружены во время обнаружения схемы, и соединителю необходимо настроить эти атрибуты отдельно. Например, чтобы правильно определить атрибут userCertificate как двоичный атрибут, в поле псевдонимов атрибутов необходимо ввести следующую строку:

    userCertificate;binary

    В следующей таблице приведен пример того, как может выглядеть эта конфигурация:

    Страница подключения к конфигурации соединителя синхронизации MIM с атрибутами

    Установите флажок Включить операционные атрибуты в схему , чтобы также включить атрибуты, созданные сервером. К ним относятся такие атрибуты, как время создания объекта и время последнего обновления.

    Установите флажок Include extensible attributes in schema (Включить расширяемые атрибуты в схему), если используются расширяемые объекты (RFC4512/4.3). Это позволит применять все атрибуты ко всем объектам. Кроме того, активация этого параметра приведет к значительному увеличению размера схемы, поэтому рекомендуется не устанавливать этот флажок, если эта функция не используется в подключенном каталоге.

    Глобальные параметры

    На странице глобальных параметров настраивается различающееся имя для разностного журнала изменений и дополнительных компонентов LDAP. Эта страница автоматически заполняется данными, полученными с сервера LDAP.

    Страница глобальных параметров конфигурации соединителя синхронизации MIM

    В верхней части приводятся предоставленные сервером сведения, в частности имя сервера. Соединитель также проверяет наличие обязательных элементов управления в Root DSE. Если эти элементы управления отсутствуют в списке, отображается предупреждение. Некоторые каталоги LDAP не сообщают о поддержке всех компонентов в Root DSE, но соединитель может работать без проблем даже после появления предупреждения.

    Флажки в разделе поддерживаемых элементов управления управляют выполнением некоторых операций.

    • Если установлен флажок иерархического удаления, иерархия будет удалена с помощью одного вызова LDAP. Если флажок иерархического удаления снят, соединитель при необходимости будет выполнять рекурсивное удаление.
    • Если установлен флажок результатов разбивки на страницы, соединитель будет выполнять постраничный импорт. Размер страницы определяется в шагах выполнения.
    • VLVControl и SortControl — альтернативы элементу pagedResultsControl. Эти элементы используются для чтения данных из каталога LDAP.
    • Если снять флажок напротив всех трех элементов (pagedResultsControl, VLVControl и SortControl), соединитель импортирует все объекты за одну операцию. Операция может завершиться ошибкой, если размер каталога слишком большой.
    • ShowDeletedControl используется только при импорте изменений с помощью атрибута USNChanged.

    Различающееся имя журнала изменений — это контекст именования, используемый разностным журналом изменений, например cn=changelog. Чтобы импортировать изменения, вам потребуется указать это значение.

    В следующей таблице приведен список имен DN журнала изменений по умолчанию.

    Directory Разностный журнал изменений
    Microsoft AD LDS и AD GC Определяется автоматически. Используется атрибут USNChanged.
    Apache Directory Server. Недоступно.
    389 Directory Server Журнал изменений. По умолчанию используется значение cn=changelog
    IBM Tivoli DS. Журнал изменений. По умолчанию используется значение cn=changelog
    Isode Directory. Журнал изменений. По умолчанию используется значение cn=changelog
    Novell/NetIQ eDirectory Недоступно. Используется метка времени. Соединитель использует дату и время последнего обновления для получения добавленных и обновленных записей.
    Open DJ/DS Журнал изменений. По умолчанию используется значение cn=changelog
    Open LDAP Журнал доступа. По умолчанию используется значение cn=accesslog
    Oracle DSEE Журнал изменений. По умолчанию используется значение cn=changelog
    RadiantOne VDS Виртуальный каталог. Зависит от каталога, подключенного к VDS.
    Sun One Directory Server. Журнал изменений. По умолчанию используется значение cn=changelog

    Атрибут пароля — это имя атрибута, который будет использоваться соединителем для установки пароля в операциях изменения и установки паролей. По умолчанию используется имя userPassword , но его можно изменить, если это нужно для конкретной системы LDAP.

    В списке дополнительных разделов можно добавить дополнительные пространства имен, которые не были обнаружены автоматически. Например, этот параметр можно использовать, если несколько серверов образуют логический кластер, из которого одновременно нужно импортировать все объекты. Это аналогично тому, что один лес Active Directory может включать несколько доменов, которые совместно используют одну схему. Добавление пространств имен в это поле позволяет имитировать такую структуру. Каждое пространство имен может импортировать объекты с разных серверов. Дополнительные параметры можно настроить на странице настройки разделов и иерархий. Чтобы добавить новую строку, используйте сочетание клавиш Ctrl+ВВОД.

    Настройка иерархии подготовки

    Эта страница используется для сопоставления компонента DN, например подразделения, c типом подготавливаемого объекта, например organizationalUnit.

    Иерархия подготовки

    Настройка иерархии подготовки позволяет настроить соединитель так, чтобы он автоматически создавал структуру при необходимости. Например, если существует пространство имен dc=contoso,dc=com и подготовлен новый объект cn=Joe, ou=Seattle, c=US, dc=contoso, dc=com, соединитель может создать объект типа country для США и организационный объект для Сиэтла, если они еще не присутствуют в каталоге.

    Настройка разделов и иерархий

    На странице разделов и иерархий выберите все пространства имен, которые содержат объекты для импорта и экспорта.

    Страница секций конфигурации соединителя синхронизации MIM

    Для каждого пространства имен можно задать параметры подключения, которые переопределят значения, указанные на странице подключения. Если оставить стандартные пустые значения, будут использоваться сведения, указанные на странице подключения.

    Также здесь можно выбрать контейнеры и подразделения (OU), которые соединитель будет использовать для импорта экспорта.

    Поиск выполняется во всех контейнерах в секции. При большом числе контейнеров такое поведение приводит к снижению производительности.

    Примечание

    Обновление за март 2017 г.: теперь поиск универсального соединителя LDAP можно ограничить только выбранными контейнерами. Это можно сделать, установив флажок "Поиск только в выбранных контейнерах", как показано на рисунке ниже.

    Поиск только в выбранных контейнерах

    Настройка привязок

    Эта страница всегда имеет предварительно настроенное значение и не может быть изменена. Если поставщик сервера определен, в привязке может быть указано значение неизменяемого атрибута, например GUID объекта. Если поставщик не определен или известно, что у него нет неизменяемого атрибута, в качестве привязки соединитель будет использовать различающееся имя.

    Страница привязок конфигурации соединителя синхронизации MIM

    В следующей таблице приведен список серверов LDAP и используемой привязки:

    Directory Атрибут привязки
    Microsoft AD LDS и AD GC objectGUID
    389 Directory Server Различающееся имя
    Apache Directory Различающееся имя
    IBM Tivoli DS. Различающееся имя
    Isode Directory. Различающееся имя
    Novell/NetIQ eDirectory GUID
    Open DJ/DS Различающееся имя
    Open LDAP Различающееся имя
    Oracle ODSEE Различающееся имя
    RadiantOne VDS Различающееся имя
    Sun One Directory Server. Различающееся имя

    Другие примечания

    В этом разделе приведены дополнительные сведения о соединителе и другая важная информация.

    Импорт изменений

    В Open LDAP в качестве отметки изменений используются дата и время в формате UTC. По этой причине необходимо синхронизировать часы между службой синхронизации FIM и Open LDAP. В противном случае некоторые записи могут не попасть в разностный журнал изменений.

    Для Novell eDirectory разностный импорт не обнаруживает удаления объектов. По этой причине для определения всех удаленных объектов необходимо периодически выполнять полный импорт.

    Для каталогов с разностным журналом изменений на основе даты и времени настоятельно рекомендуется периодически выполнять полный импорт. Это позволит модулю синхронизации находить различия между содержимым сервера LDAP и текущим содержимым пространства соединителя.

    Устранение неполадок

    • Сведения о том, как включить ведение журнала для устранения неполадок соединителя, см. в статье How to Enable ETW Tracing for Connectors (Включение трассировки событий Windows для соединителей).