Система управления задачами IPI.MANAGER™ PRO
Служба поддержки Вопрос-ответ Документация О разработчиках

Настройка синхронизации пользователей с сервером LDAP

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

Создание политики синхронизации

Чтобы задать политику синхронизации, нужно выбрать пункт меню Управление -> Политики синхронизации LDAP и нажать кнопку Добавить.

Общие настройки

Имя политики:

Имя, под которым политика импорта будет отображена в общем списке.

Описание:

Краткое описание.

Автосинхронизация:

Если параметр задан, синхронизация будет автоматически выполняться раз в сутки, обычно в 03:00.

Удалять пользователей:

Если галочка включена, пользователи, присутствующие в БД IPI.Manager, но отсутствующие в дереве LDAP, будут удалены.

Восстанавливать удалённых пользователей:

Удалённые пользователи будут восстановлены, если в дереве LDAP обнаружится пользователь с таким же уникальным ID.

Параметры запроса LDAP

Сервер:

Имя сервера LDAP, с которым будет выполняться синхронизация. В случае ActiveDirectory нужно ввести адрес контроллера домена.

Имя пользователя и пароль:

Параметры для доступа к серверу LDAP. В случае нужно указывать имя пользователя в виде user@domain.

Основание поиска:

Поддерево LDAP, в котором будет выполнен поиск. Например, DC=ipi,DC=local.

Фильтр:

Проверить правильность введённых параметров можно, нажав кнопку Тестовый поиск.

Соответствие полей

Таблица соответствия свойств LDAP полям базы данных IPI.Manager.

Уникальный ID:

Поле, содержащее уникальное значение для всех пользователей в домене AD и в базе IPI.Manager. Именно оно будет использоватсья для сопоставления пользователей в дереве LDAP и в базе IPI.Manager, т. к. логин в некоторых случаях может изменяться.

Значение по умолчанию для ActiveDirectory — objectGUID.

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

Если изменить этот параметр после того, как были импортирваны пользователи, IPI.Manager не сможет правильно сопоставить импортированных пользователей и пользователей домена, и это приведёт к ошибкам синхронизации. Та же проблема возникнет, если в LDAP изменится значение этого поля для уже импортированного пользователя. Будьте острожны.

Логин:

Поле LDAP, в котором хранится логин пользователя.

Значение по умолчанию для ActiveDirectory — sAMAccountName. Если хотите, чтобы импортированные пользователи имели логины в формате user@domain, используйте поле userPrincipalName. При этом в settings.yaml нужно будет добавить опцию AUTH_STRIP_DOMAIN: false — подробнее см. Настройки профилей.

Имя:

Поле LDAP, из которого IPI.Manager будет брать имя и фамилию пользователя.

Значение по умолчанию — name.

Email:

Поле, содержащее почтовый адрес. Можно оставить пустым.

Дополнительные поля:

Здесь можно выбрать поля LDAP, значения которых будут сохраняться в дополнительных полях пользователей.

Группы

Внутренние пользователи:

Этот параметр определяет, будут ли импортированные пользователи внутренними или внешними.

Дополнительные группы:

Дополнительные группы, в которые будут добавлены пользователи.

Уведомления

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

Запуск синхронизации с помощью утилиты ipi-admin

Помимо веб-интерфейса, есть возможность выполнять синхронизацию из командной строки с помощью команды ipi-admin ldap-sync. По умолчанию эта команда обрабатывает все политики синхронизации, у которых включен параметр Автосинхронизация. Можно также явно указать ID политики синхрозинации:

ipi-admin ldap-sync 1

Команда ipi-admin ldap-sync имеет также параметр --force-overwrite, который позволяет перезаписывать существующих пользователей в случае совпадения логинов. Используйте этот режим с осторожностью, предварительно убедившись, что он делает именно то, что вам нужно.

Алгоритм синхронизации пользователей

При выполнении синхронизации IPI.Manager обращается к серверу LDAP и получает от него набор записей в соответствии с выбранными настройками. Каждая запись соответствует определённому пользователю из домена AD. Для каждой записи выполняется одно из описанных ниже действий. Ключевое значение для процесса синхронизации имеет поле Уникальный ID (UUID), которое указаываетя в настройках синхронизации в разделе Соответствие полей. По умолчанию в качестве уникального ID используется поле objectGUID, которое уникально для всех пользователей в домене AD. При добавлении пользователя в базу данных IPI.Manager это значение сохраняется в поле uuid в таблице user_user. Также сохраняется ссылка на политику синхронизации в поле ldap_sync_policy_id.

Создание пользователей

Если пользователя с данным UUID нет в базе IPI.Manager, он будет создан. Если пользователь с таким логином уже существует, будет выдана ошибка, и пользователь не будет создан. Если вы хотите, чтобы существующий пользователь был перезаписан, вы можете вручную запустить команду ipi-admin ldap-sync --force-overwrite.

Созданный пользователь становится членом группы Внутренние пользователи либо Внешние пользователи в зависимости от настроек синхронизации, а также добавляется в группы, указанные в поле Дополнительные группы.

Примечание

Пароли пользователей из AD не импортируются, поэтому обычный вход в IPI.Manager через страницу /auth/login для импортированных пользователей невозможен. Для того, чтобы импортированные пользователи могли работать с программой, нужно настроить доменную аутентификацию — см. Настройка аутентификации с помощью Kerberos.

Обновление пользователей

Если пользователь с данным UUID уже есть в базе IPI.Manager, он будет обновлён. При обновлении у пользователя может измениться имя, логин, адрес email и значения дополнительных полей.

Членство в группах при обновлении пользователя не затрагивается.

Если при изменении логина окажется, чтопользователь с таким логином уже существует, будет выдана ошибка, и пользователь не будет переименован. Вы можете разрешить конфликт логинов, переименовав пользователя, либо запустить команду ipi-admin ldap-sync --force-overwrite, в этом случае существующий пользователь будет удалён.

Удаление пользователей

Если пользователь существует в базе данных IPI.Manager и имеет значение ldap_sync_policy_id, соответствующее выполняемой политике синхронизации, но его UUID отсутсвует в списке пользователей, полученных из дерева LDAP, он будет помечен, как удалённый. При этом в поле date_removed будет записана текущая дата, и пользователь перестанет отображаться в списке активных пользователей.

Восстановление удалённых пользователей

Если пользователь с данным UUID помечен как удалённый, он будет восстановлен. При этом будет удалено значение из поля date_removed, и пользователь снова появится в списке на странице управления пользователями. При восстановлении также будет выполнена процедура обновления, как описано выше: будут обновлено имя, email, логин и значения дополнительных полей. Если при восстановлении удалённого пользователя окажется, что в базе данных IPI.Manager уже есть активный пользователь с таким логином, будет выдана ошибка, и пользователь не будет восстановлен. Вы можете разрешить конфликт, переименовав одного из пользователей, либо запустить команду ipi-admin ldap-sync --force-overwrite, в этом случае существующий пользователь IPI.Manager будет удалён.

Конфиденциальность Правовые ограничения Лицензия Контактная информация © 1998-2012 Компания IPI