Технический справочник по универсальному соединителю LDAP
В этой статье описывается универсальный соединитель LDAP. Статья относится к следующим продуктам:
- Microsoft Identity Manager 2016 (MIM2016);
- Microsoft Entra ID
Для 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), за исключением случаев, когда они не поддерживаются. Она была протестирована на следующих серверах каталогов:
|
Сценарии | |
Operations | Следующие операции поддерживаются во всех каталогах LDAP: |
схема |
Поддержка импорта изменений и управления паролями
Поддерживаемые каталоги для импорта изменений и управления паролями:
- Службы облегченного доступа к каталогам 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) .
Соединение
На странице подключения укажите имя узла, номер порта и сведения о привязке. В зависимости от типа выбранной привязки может потребоваться указать дополнительные сведения.
- Параметр «Время ожидания подключения» используется только для первого подключения к серверу при определении схемы.
- Если выбрана анонимная привязка, указывать сертификат или имя пользователя и пароль не нужно.
- Для других типов привязки потребуется указать имя пользователя и пароль либо выбрать сертификат.
- Если для проверки подлинности используется Kerberos, укажите область или домен пользователя.
Текстовое поле Псевдонимы атрибутов предназначено для атрибутов, определенных в схеме с помощью синтаксиса RFC 4522. Эти атрибуты не могут быть обнаружены во время обнаружения схемы, и соединителю необходимо настроить эти атрибуты отдельно. Например, чтобы правильно определить атрибут userCertificate как двоичный атрибут, в поле псевдонимов атрибутов необходимо ввести следующую строку:
userCertificate;binary
В следующей таблице приведен пример того, как может выглядеть эта конфигурация:
Установите флажок Включить операционные атрибуты в схему , чтобы также включить атрибуты, созданные сервером. К ним относятся такие атрибуты, как время создания объекта и время последнего обновления.
Установите флажок Include extensible attributes in schema (Включить расширяемые атрибуты в схему), если используются расширяемые объекты (RFC4512/4.3). Это позволит применять все атрибуты ко всем объектам. Кроме того, активация этого параметра приведет к значительному увеличению размера схемы, поэтому рекомендуется не устанавливать этот флажок, если эта функция не используется в подключенном каталоге.
Глобальные параметры
На странице глобальных параметров настраивается различающееся имя для разностного журнала изменений и дополнительных компонентов LDAP. Эта страница автоматически заполняется данными, полученными с сервера LDAP.
В верхней части приводятся предоставленные сервером сведения, в частности имя сервера. Соединитель также проверяет наличие обязательных элементов управления в 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 для США и организационный объект для Сиэтла, если они еще не присутствуют в каталоге.
Настройка разделов и иерархий
На странице разделов и иерархий выберите все пространства имен, которые содержат объекты для импорта и экспорта.
Для каждого пространства имен можно задать параметры подключения, которые переопределят значения, указанные на странице подключения. Если оставить стандартные пустые значения, будут использоваться сведения, указанные на странице подключения.
Также здесь можно выбрать контейнеры и подразделения (OU), которые соединитель будет использовать для импорта экспорта.
Поиск выполняется во всех контейнерах в секции. При большом числе контейнеров такое поведение приводит к снижению производительности.
Примечание
Обновление за март 2017 г.: теперь поиск универсального соединителя LDAP можно ограничить только выбранными контейнерами. Это можно сделать, установив флажок "Поиск только в выбранных контейнерах", как показано на рисунке ниже.
Настройка привязок
Эта страница всегда имеет предварительно настроенное значение и не может быть изменена. Если поставщик сервера определен, в привязке может быть указано значение неизменяемого атрибута, например GUID объекта. Если поставщик не определен или известно, что у него нет неизменяемого атрибута, в качестве привязки соединитель будет использовать различающееся имя.
В следующей таблице приведен список серверов 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 для соединителей).