LDAP

Центральный Пульт поддерживает аутентификацию пользователей с помощью сервера службы каталогов по протоколу LDAP (Active Directory, OpenLDAP, и т.д.).

Настройка LDAP

По умолчанию, аутентификацию через LDAP отключена. Для включения этого функционала, в конфигурационный файл сервера нужно добавить раздел ldap:

"ldap" : {
    "url" : "ldap://example.com:389",
    "suffix" : "dc=example,dc=com",
    "login" : "cn=users,dc=example,dc=com",
    "pass" : "password",
    "allow_self_signed": true,
    "create_user_for_existing_group_only": true,
    "import_non_existing_groups": false,
    "update_existing_groups": false,
}

Поведение системы при импорте групп и пользователей настраивается в следующих параметрах:

  • ldap.create_user_for_existing_group_only – Новый пользователь может авторизоваться через LDAP только если он состоит в группе на LDAP сервере, которая уже есть в Центральном Пульте.

  • ldap.import_non_existing_groups – При успешном входе LDAP-пользователя, Центральный Пульт импортирует все группы этого пользователя с LDAP-сервера. Группы, которые уже были импортированы не будут затронуты.

  • ldap.update_existing_groups – При успешном входе LDAP-пользователя, система конвертирует группы пользователей, созданные в Центральном Пульте, до LDAP-групп при совпадении имен групп.

Для применения изменений необходимо перезапустить службу saymon-server:

$sudo service saymon-server restart

Учётная запись LDAP сервера, которая указывается в конфигурации, должна иметь административные права. Эта учётная запись должна иметь доступ к пользователям и группам, которые должны быть импортированы в Центральный Пульт.

Аутентификация в Центральном Пульте через LDAP

Пользователи и группы, импортированные из LDAP-сервера имеют свои особенности.

У LDAP-пользователей на вкладке Общие отображается поле Источник со значением LDAP, в списке пользователей они отмечаются иконкой image.

LDAP-группы (группы, созданные при авторизации LDAP-пользователей) обозначаются в списке иконкой image. Для таких групп недоступна смена имени, в качестве источника указан LDAP.

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

Импорт LDAP-пользователей

При первом входе пользователя, аутентифицированного через LDAP, для него автоматически создаётся учётная запись в системе. Синхронизация информации о пользователе происходит при каждом успешном входе этого пользователя.

Если логин пользователя, аутентифицирующегося через LDAP, совпадает с логином другого пользователя, уже зарегистрированного в системе, LDAP-пользователь войти в систему не сможет.

Созданные LDAP-пользователи обладают теми же правами, что и все новые пользователи. Эти права указываются в параметре user.template.permissions серверной конфигурации.

Для LDAP-пользователей недоступна вкладка Смена пароля, пароли таких пользователей находятся на LDAP сервере.

Пользователям из LDAP, у которых ещё нет учётной записи в Центральном Пульте, можно ограничить вход в систему, подготовив группы для нужных пользователей. Чтобы учётная запись создавалась только для пользователей, у которых имя группы на LDAP-сервере совпадает с именем существующей (созданной ранее) группы в Центральном Пульте, в конфигурационном файле сервера необходимо указать параметр:

{
  ...
  "ldap": {
     ...
     "create_user_for_existing_group_only": true,
     ...
  }
}
Нельзя использовать вместе с параметром import_non_existing_groups. Если у обоих параметров значение true, то сервер сначала импортирует группу нового пользователя, а потом авторизует его, так как он входит в существующую группу.

Импорт LDAP-групп

Импорт новых групп

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

{
  ...
  "ldap": {
     ...
     "import_non_existing_groups": true,
     ...
     }
}

Обновление существующих групп

Группы, созданные в Центральном Пульте, имена которых совпадают с именами групп из LDAP, можно обновить до LDAP-групп. В конфигурационном файле сервера для этого необходимо указать параметр:

{
  ...
  "ldap": {
     ...
     "update_existing_groups": true,
     ...
     }
}
Если пользователь был исключён из группы в Центральном Пульте - аналога своей группы в LDAP, при следующем входе в систему пользователь автоматически будет возвращён в эту группу.

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

После удаления учётной записи пользователя LDAP с сервера системы, пользователь по-прежнему сможет войти в систему под своими учётными данными, авторизовавшись через LDAP. Учётная запись при этом будет создана заново с правами по умолчанию; права полученные через группы, останутся прежними.

Параметр ldap.create_user_for_existing_group_only не влияет на существующих пользователей. Если опция активирована, а имена групп не совпадают с именами групп удалённого пользователя в LDAP, пользователь не сможет создать учётную запись заново.

Чтобы заблокировать LDAP-пользователю доступ к данным, необходимо сменить его статус на Заблокирован.