LDAP-аутентификация в PolyAnalyst

Настройка серверов аутентификации LDAP

PolyAnalyst имеет собственный метод хранения учетных записей пользователей и управления способами входа в систему, но некоторые организации предпочитают использовать облегченный протокол службы каталогов LDAP. Чтобы настроить использование LDAP в PolyAnalyst, сначала нужно создать профиль сервера LDAP в PolyAnalyst. Откройте Административный клиент и выберите в меню Настройки сервера, затем раздел LDAP сервера аутентификации. Существующие профили серверов LDAP будут отображены справа. Чтобы добавить профиль, нажмите кнопку plus symbol Добавить.

Откроется следующее окно:

ldap server.rus

Ниже представлено описание каждого поля:

Адрес LDAP – для службы каталогов Active Directory это обычно имя сервера в локальной сети или его IP-адрес (если сервер PolyAnalyst находится на той же машине, то "localhost"). Это имя или адрес будет впоследствии обозначать сервер LDAP в дереве элементов слева и в диалоговом окне входа в систему.

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

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

Порт LDAP – порт сервера LDAP. Этот порт должен быть открыт в брандмауэре, в противном случае соединение с сервером LDAP будет невозможно. Порт по умолчанию – 389. При использовании безопасного соединения может потребоваться переключение на порт SSL – 636.

Версия LDAP – PolyAnalyst поддерживает 2 и 3 версии стандарта LDAP.

Безопасное соединение – если данная опция подключена, устанавливается безопасное соединение SSL. Если данная опция отключена, для соединения с сервером LDAP используются опции LDAP_OPT_ENCRYPT и LDAP_OPT_SIGN. Если данные передаются в незашифрованном виде, они не защищены от несанкционированного доступа. Эта опция будет работать только в том случае, если провайдер LDAP поддерживает SSL. Если эта опция подключена, а провайдер LDAP не поддерживает соединения SSL, то при попытке входа в систему пользователь получит сообщение об ошибке.

Передавать пароль простым текстом – если опция включена, в ldap_bind_s используется метод LDAP_AUTH_SIMPLE, а без нее – LDAP_AUTH_NEGOTIATE.

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

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

Префикс имени группы – префикс, который добавляется к именам LDAP-групп в PolyAnalyst.

Список уникальных имен, разделенных новой строкой. Поле позволяет вводить несколько уникальных имен (анг. distinguished names), по одному на строку. Для службы каталогов Active Directory обычно (CN=USERS,DC=<domain>,DC=local). Эта опция начинает поиск учетной записи пользователя. Поиск производится по порядку сверху вниз. Если в имени есть пробел, его нужно заключить в двойные кавычки, например: CN="LOCAL USERS".

Разрешенные группы – список разрешенных групп LDAP через точку с запятой, например: "Analysts;PolyUsers". Пользователь может работать с PolyAnalyst, если он входит хотя бы в одну группу из указанных в данном поле.

Фильтр групп – список групп LDAP через точку с запятой. Если заполнить поле, PolyAnalyst будет игнорировать все LDAP-группы, которые не входят в данный список.

После настройки сервера LDAP вы можете выполнить его проверку. Нажмите на кнопку Проверить соединение для запуска соответствующей операции.

В появившемся окне введите логин и пароль пользователя, зарегистрированного на сервере LDAP, после чего нажмите на кнопку ОК.

После проведения проверки отобразится результат:

  • выполнено – соединение прошло успешно;

  • ошибка выполнения – попытка установить соединение была безуспешной. В этом случае в правом нижнем углу отобразится текст и код ошибки.

По завершении настроек нажмите Сохранить изменения для сохранения настроек.

Созданный сервер при помощи соответствующих кнопок на верхней панели инструментов можно клонировать clone symbol, редактировать edit symbol и удалить remove symbol. Альтернативный способ клонирования или удаления: нажмите правой кнопкой мыши на добавленный сервер LDAP в дереве элементов слева и выберите соответствующую опцию. Обратите внимание, что, во-первых, переименовать созданный сервер невозможно, во-вторых, удаленный сервер не восстанавливается.

Если ваша организация использует или планирует использовать в ближайшем будущем LDAP, не создавайте профили пользователей вручную. После того, как пользователь впервые войдет в систему PolyAnalyst через LDAP, PolyAnalyst автоматически создаст формальный профиль пользователя, который представляет профиль LDAP. Как и другие профили пользователей PolyAnalyst, настройки и предпочтения профилей LDAP можно изменить позже.

Данный профиль LDAP автоматически настраивается в соответствии с префиксом пользователя и префиксом группы. Изначально он не принадлежит к группе Users, лишь к группе LDAP, куда он относится с момента первой успешной аутентификации через данную учетную запись. Эта группа и этот профиль пользователя изначально не имеют никаких прав.

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

Настройка аутентификации в PolyAnalyst через Active Directory и OpenLDAP

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

  1. Полное уникальное имя (distinguished name). Для Active Directory (AD) это cn=<Имя Фамилия>, CN=Users, DC=<domain>, где <Имя Фамилия> – атрибут cn (common name), как он задан на контроллере домена. Например, cn=Иван Иванов,CN=Users, DC=megaputer. Для OpenLDAP полный формат имени uid=<username>, ou=People, dc=megaputer, dc=ru. Осуществляется авторизация по этому имени, затем ищется объект любого класса с таким именем в каталоге LDAP. Список групп, в которые входит пользователь, собирается по-разному. Для AD он берется из записи самого пользователя – из атрибутов memberOf, а также из первичной группы. Из первого фрагмента CN=<something> something считается именем группы. Для поиска групп в OpenLDAP из имени пользователя выделяется доменная часть (dc=megaputer, dc=ru в нашем случае), дальше в этом домене ищутся объекты класса posixGroup, у которых один из атрибутов memberUid имеет значение <username>. Атрибут cn найденных объектов считается именем группы. Настройка опции SearchDnName (Список уникальных имен, разделенных новой строкой) при этом способе логина не учитывается.

  2. Имя в формате <username>@<domain>. Осуществляется авторизация по этому имени. Затем для каждого значения из поля Список уникальных имен, разделенных новой строкой (далее <root>) выделяется доменная часть имени и сравнивается с <domain>. Если совпадения не найдены, выводится сообщение об ошибке "No DNs corresponding to the '{1}' domain are found for the LDAP server '{2}' in the configured list '{3}'". Если найдены, пользователя в каталоге LDAP ищем по фильтрам userPrincipalName=<username>@<domain> и, в случае неудачи, sAMAccountName=<username> в поддереве, соответствующем ранее выбранному <root>. Группы, в которые входит пользователь, определяются как в пункте 1 для AD.

  3. Имя пользователя без символов @ и =. Для каждого из значений в поле Список уникальных имен, разделенных новой строкой проверяются следующие варианты:

    1. <username>@<domain>, где domain выделяется из доменной части текущего <root>. Далее как в пункте 2 (за исключением ненужного поиска и проверки <root>).

    2. uid=<username>,<root>; как в пункте 1.

    3. cn=<username>,<root>; как в пункте 1.

  4. При логине текущим пользователем формируется имя <username>@<domain>, дальше как в пункте 2.