Перейти к содержанию

Коннектор Data Base#


Общая информация#

Коннектор Data Base (DB) предназначен для организации прямого подключения к внешней SQL-базе данных (PostgreSQL, MySQL, MS SQL и др.) с целью синхронизации данных пользователей и групп в системе IDM.

Особенности:

  • Выполняется подключение к БД напрямую по URI;
  • Для получения данных о пользователях и группах используются SQL-запросы;
  • Все ключевые операции (создание, обновление, удаление) также реализуются на уровне SQL-запросов;
  • Гибкость и независимость от структуры внешней системы: администратор указывает нужные таблицы и поля;
  • Поддержка одно- и двусторонней синхронизации;
  • Возможность ограничить синхронизацию пользователями из конкретной группы IDM;
  • Поддержка стандартных и дополнительных полей профиля пользователя.

Создание коннектора#

В IDM необходимо создать коннектор по шаблону DB.

Чтобы создать коннектор:

  1. Перейдите в раздел АдминистрированиеКоннекторы.
  2. Нажмите Создать коннектор.
  3. В выпадающем меню выберите тип коннектора DB.

    Выбор типа коннектора

  4. Откроется форма создания коннектора.

  5. На вкладке Параметры подключения укажите:

    • Название коннектора,
    • URI подключения,
    • Запрос получения списка пользователей,
    • Запрос получения списка групп,
    • Запрос получения списка групп пользователя,
    • Запрос создания пользователя,
    • Запрос обновления пользователя,
    • Запрос удаления пользователя.

    📌 Подробное описание параметров приведено в разделе Параметры подключения

  6. При необходимости выберите группу в блоке Ограничить группой IDM, если необходимо выполнять синхронизацию только по тем пользователям, которые входят в состав выбранной группы

  7. Введите ключ в поле Лицензионный код.

    📌 Подробнее про лицензирование читайте в инструкции.

  8. Нажмите Сохранить.

💡 При необходимости выполните проверку подключения.

Параметры подключения#

Параметр Обязательность Описание
Название коннектора Да Название для отображения в интерфейсе системы IDM
URI подключения Да Строка подключения к БД, например: jdbc:postgresql://host:port/database
Запрос получения списка пользователей Да SQL-запрос, возвращающий список всех пользователей. Результат должен содержать все атрибуты, указанные в сопоставлении полей.
Запрос получения списка групп Да SQL-запрос, возвращающий список всех групп, с которыми работает система.
Запрос получения списка групп пользователя Да SQL-запрос, возвращающий группы, к которым относится конкретный пользователь.
Запрос создания пользователя Да SQL-запрос, выполняемый при создании пользователя в БД. Должен использовать параметры, соответствующие полям профиля.
Запрос обновления пользователя Да SQL-запрос на обновление данных существующего пользователя в БД.
Запрос удаления пользователя Да SQL-запрос для удаления (или пометки об удалении) пользователя в БД.
Фильтр поиска Нет Дополнительный фильтр, позволяющий ограничить выборку пользователей (например, по статусу или принадлежности к отделу).
Ограничить группой IDM Нет Синхронизация будет осуществляться только по тем пользователям, которые входят в состав выбранной группы
Лицензионный код Да -

Настройка правил сопоставления#

Общая информация#

Поскольку структура таблиц в разных базах данных может отличаться, администратор самостоятельно указывает, какие поля в БД соответствуют стандартным полям профиля в IDM.

Пример сопоставления:

Атрибут Trusted.IDM Атрибут DB (пример) Примечание
Логин (login) username Уникальный идентификатор
Имя (givenName) first_name
Фамилия (surname) last_name
Электронная почта (email) email
Телефон (mobile) phone
Организация(company) organization
Отдел (department) department
Адрес проживания (streetAddress) address
Должность (jobTitle) position
СНИЛС (snils) snils Используется как дополнительное поле
Фото (photo) photo_base64 Фото должно быть представлено в формате base64

💡 При использовании дополнительных полей убедитесь, что они предварительно созданы в системе IDM и соответствуют по типу данных полям в БД.

Настройка правил#

📌 Значение поля должно быть уникальным в обеих системах.

Чтобы настроить сопоставление полей:

  1. Перейдите на вкладку Сопоставление полей в форме с настройками коннектора.
  2. Активируйте флаг в колонке Связать по напротив атрибута, который будет использоваться для сопоставления пользователей в системе IDM и во внешней системе.
  3. Введите значение поля во внешней системе в колонке Внешнее поле.
  4. Сохраните изменения.

Настройка синхронизации#

Порядок синхронизации#

📌 Если настроена одинаковая операция в обе стороны, то приоритетной будет внешняя система.

  1. Перейдите на вкладку Правила синхронизации в форме с настройками коннектора.
  2. Настройте порядок синхронизации.

    Установите флаг напротив необходимых пунктов:

    Настройки коннектора

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

  4. Настройте расписание синхронихзации:

    В блоке Настройки синхронизации установите флаг напротив одного из пунктов:

    • При выборе Каждые укажите промежуток времени в минутах или часах,
    • При выборе Ежедневно введите время в формате чч:мм или выберите значение из выпадающего меню,
    • При выборе Еженедельно укажите день недели и время в формате чч:мм или выберите значение из выпадающего меню,

    Настройки коннектора

  5. При необходимости установите флаг При изменении в Trusted.IDM для автоматического запуска синхронизации при возникновении изменений в IDM.

  6. Сохраните изменения.

Включение коннектора#

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

Чтобы включить коннектор:

  1. Перейдите в раздел АдминистрированиеКоннекторы.
  2. Вызовите контекстное меню для коннектора, который необходимо включить, и выберите действие Включить или активируйте флаг Включить в форме редактирования коннектора.

  3. Подтвердите действие в модальном окне.

    Окно подтверждения

После подтверждения действия:

💡 При необходимости синхронизацию можно запустить вручную через действие Синхронизировать в контекстном меню коннектора.