VMmanager

Синхронизация с каталогом LDAP

 

LDAP (Lightweight Directory Access Protocol) — это протокол прикладного уровня для доступа к службе каталогов.

Служба каталогов (каталоги LDAP) — это система с иерархической структурой для хранения данных в формате "ключ-значение". Обычно службы каталогов используют для хранения информации об организации, её активах и пользователях. Существуют различные реализации каталогов LDAP. Например, ALD Pro, OpenLDAP и FreeIPA для Linux, Microsoft Active Directory для Windows и т.д.

Вы можете настроить синхронизацию платформы c каталогом LDAP. Тогда учётные записи пользователей из каталога будут автоматически создаваться в платформе. 

Логика работы

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

Общие правила синхронизации:

  1. Если у пользователя в каталоге LDAP не указан email, его учётная запись не будет использована при синхронизации.
  2. Если пользователь Active Directory не входит в группу Users, его учётная запись не будет использована при синхронизации.
  3. Если пользователя из каталога LDAP нет в платформе, платформа создаст учётную запись с данными из LDAP.
  4. Если пользователь из каталога LDAP уже создан в платформе, то платформа изменит источник учётной записи пользователя с локального на LDAP. После этого пользователь сможет авторизоваться в платформе с email и паролем из LDAP. Пароль пользователя будет храниться в LDAP и не запишется в БД платформы.
    Пример: В платформе создана учётная запись с именем admin@example.com и паролем secret1. В LDAP есть учётная запись с именем admin@example.com и паролем secret2. После синхронизации пользователь admin@example.com сможет авторизоваться в платформе только с паролем secret2.
  5. Платформа не изменяет уровень учетной записи на данные из LDAP. Независимо от того, в какой группе находится учётная запись в LDAP, уровень учётной записи задается в платформе в настройках синхронизации с LDAP (соответствие DN группы из LDAP роли в платформе).
  6. Если администратор удалит из платформы пользователя, созданного при синхронизации с LDAP, платформа создаст этого пользователя при следующей синхронизации.
  7. Если пользователь будет удалён из каталога LDAP, платформа установит для учётной записи статус "Заблокирован". Такой пользователь не сможет авторизоваться в платформе.
  8. Если пользователь будет заблокирован в каталоге LDAP, платформа установит для него статус "Заблокирован в LDAP". Такой пользователь не сможет авторизоваться в платформе.
Если удалить настроенную синхронизацию, пользователи из каталога LDAP не смогут авторизоваться в платформе.

Подготовка

Перед синхронизацией рекомендуем создать в платформе учётную запись администратора с email, отсутствующим в LDAP. Это поможет восстановить доступ к платформе, если после синхронизации учётная запись администратора по каким-то причинам окажется заблокированной.

Если на сервере с LDAP самоподписанный SSL-сертификат

Инструкция актуальна для VMmanager 6 версии 2025.05.1-1 или новее.

Подключение к LDAP завершится с ошибкой, если требуется использовать SSL-соединение, а на сервере установлен самоподписанный SSL-сертификат.

Чтобы ошибки подключения не возникало, выполните следующие действия:

  1. Создайте директорию для конфигурации LDAP: 

    mkdir /opt/ispsystem/ldap/
  2. Создайте в директории /opt/ispsystem/ldap/ файл ldap.conf с содержимым:

    TLS_CACERT    /etc/ssl/certs/ca-bundle.crt   
    TLS_REQCERT never
  3. Создайте файл патча /opt/ispsystem/ldap.yaml с содержимым: 

    version: "3.7"
    services:
      auth_back4:
        volumes:
        - /opt/ispsystem/ldap/:/etc/openldap/
  4. Примените патч для сервиса LDAP: 

    /usr/local/bin/vm add-patch -p=LDAP -f /opt/ispsystem/ldap.yaml
Если такой патч был установлен на сервер с VMmanager 6 версии 2025.04.3 или старше, то он заблокирует обновление до последней версии. Чтобы устранить эту ошибку и обновить платформу, следуйте инструкциям из статьи Обновление.

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

Чтобы настроить синхронизацию, перейдите в Синхронизация с LDAP:

  1. Выберите реализацию каталога LDAP:
    • LDAP — стандартная реализация службы каталогов;
    • Active Directory;
    • FreeIPA;
    • ALD Pro.

      Для синхронизации с ALD Pro выберите FreeIPA.
  2. Укажите настройки подключения:
    1. Base DN — объект каталога, с которого начинается поиск. Например, для каталога example.com укажите "dc=example,dc=com".
    2. Если нужно, включите опцию Использовать SSL для подключения.
    3. Адрес основного сервера.
    4. Порт подключения.
    5. Bind DN — уникальное имя для аутентификации. Вы можете указать имя в формате name@example.com или "cn=name,ou=group,dc=example,dc=com".
    6. Пароль.
    7. Для стандартной реализации LDAP укажите:
      1. Users DN — параметр для поиска и загрузки пользователей. Например, "ou=users".
      2. Groups DN — параметр для поиска и загрузки групп пользователей. Например, "ou=groups".
      3. Groupname attribute — атрибут для загрузки имени группы. Например, CN или memberof.
      4. E-mail attribute — атрибут для загрузки адреса электронной почты пользователя. Например, mail.
  3. Нажмите Далее. Платформа проверит подключение к каталогу LDAP с указанными параметрами.
  4. Выберите DN группы для всех ролей, используемых в платформе.
  5. Чтобы платформа выполняла синхронизацию по расписанию:
    1. Включите опцию Синхронизировать пользователей автоматически.
    2. Выберите параметры расписания:
      • Каждый час;
      • Ежедневно → выберите время;
      • Еженедельно → выберите день недели → выберите время;
      • произвольное время в формате cron → укажите Команду для cron. Например, 15 10 * * 0 — синхронизировать по воскресеньям в 10:15 или 00 12 1,16 * * — синхронизировать по 1-м и 16-м числам месяца в 12:00.
  6. Вы можете Загрузить список пользователей для синхронизации. Список содержит имена пользователей, их роли и информацию о наличии аналогичных пользователей в платформе.
  7. Нажмите Начать синхронизацию. Платформа запустит процесс синхронизации. Синхронизация может занять несколько минут.

Пример настройки

Вы можете изменить сохранённые настройки в разделе

Синхронизация с LDAP.

Чтобы выполнить синхронизацию вручную, перейдите в Синхронизация с LDAPСинхронизировать сейчас или ПользователиСинхронизировать с LDAPНачать синхронизацию.

Может быть полезно
Связанные статьи:
Дата последнего обновления статьи: 03.06.2025. Статья подготовлена техническими писателями ISPsystem.