LDAP-аутентификация (active directory)

Большие инсталляции SberMobile управляются сотнями людей, каждый из которых имеет одну или множество ролей. Создание и поддержка отдельных учетных записей пользователей SberMobile Server для всех них слишком трудозатратна. В этом случае возможно аутентифицировать пользователей через сервер LDAP (такой как Microsoft Active Directory), в то время как авторизация (назначение прав доступа пользователя) будет использовать учетные записи пользователя SberMobile Server на основе ролей.

Аутентификация LDAP включается и контролируется через общую настройку сервера Аутентификация через Active Directory и LDAP. Она имеет следующие поля:

  • Адрес. IP-адрес или имя хоста сервера LDAP.

  • Порт. Порт для подключения к серверу LDAP, по умолчанию 389.

  • Время ожидания. Время ожидания для процесса аутентификации LDAP. Если время ожидания истекает во время аутентификации, пользователь SberMobile Server, пытающийся зайти при помощи аутентификации LDAP, будет отклонен.

  • Тип. Выберите ваш тип аутентификации: Use RDN Prefix или Use Authentication User.

  • Соответствие контейнеров по умолчанию. Таблица, использующаяся для преобразования primaryGroupID LDAP-пользователя (из столбца ID) в имя группы (указано с столбце Name). Используется только если выбран тип аутентификации Использовать RDN префикс.

  • Соответствие параметров пользователя LDAP пользователям SberMobile. Таблица, определяющая, как параметры LDAP-пользователей соотносятся с учетными записями пользователя SberMobile Server на основе ролей. После успешной аутентификации LDAP-пользователя, системе нужно будет найти соответствующего LDAP-пользователю пользователя SberMobile Server. Это происходит следующим образом:

    • Таблица Соответствие параметров пользователя LDAP пользователям SberMobile обрабатывается построчно

    • Для каждой записи вычисляется Выражение значения атрибута. Его контекст по умолчанию - контекст, указанный значением столбца Пользователь.

    • Результат Выражения значения атрибута сравнивается со значением атрибута LDAP-пользователя, указанным в столбце Имя атрибута. Если они совпадают, пользователь, указанный в столбце Пользователь aвторизуется для текущей сессии.

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

  • Префиксы RDN. Имя RDN для поиска пользователя, без сегментов ЦОД. Это поле относится только к аутентификации по Типу Use RDN Prefix.

  • Домен по умолчанию. Имя домена для использования, если он не был определен в имени пользователя при входе.

  • Имя пользователя. Поле предоставляет имя пользователя. Относится только к аутентификации по Типу Use Authentication User.

  • Пароль. Пользовательский пароль. Это поле относится только к аутентификации по Типу Use Authentication User.

  • Домен для поиска. Домен для поиска пользователей. Либо Использовать доменную часть имени пользователя (например, часть логина аутентификации после символа @), либо Использовать домен по умолчанию (например, значение параметра домена по умолчанию).

  • Использовать SSL. Определяет, будет ли использоваться безопасный протокол LDAPs.

  • Файл доверенного хранилища. Путь к доверенному хранилищу Java, который содержит сертификат SSL для использования при подключениях по LDAPs.

  • Пароль доверенного хранилища. Пароль от доверенного хранилища Java, который содержит сертификат SSL для использования при подключениях по LDAPs.

Аутентификация с использованием RDN префикса

Вот как происходит аутентификация по Типу Use RDN Prefix:

  • LDAP запросы делаются к пользователям из списка Домен для поиска, один запрос на каждую запись в таблице Префиксы RDN. Доменная часть запроса формируется путем соединения текущего Префикса RDN и,DC=Lookup Domain. Область поиска LDAP устанавливается на Поддерево. Поиск пользователей осуществляется по LDAP-параметру userPrincipalName.

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

  • Если найденный LDAP-пользователь имеет атрибут primaryGroupID, имя группы пользователя вычисляется путем скрининга таблицы Соответствие контейнеров по умолчанию. Имя группы, найденной в записи с ID то же, что и используемый primaryGroupID.

  • Наконец, пользователь SberMobile Server ищется в таблице Соответствие параметров пользователя LDAP пользователям SberMobile.

Аутентификация с использованием пользователя аутентификации

Вот как происходит аутентификация по Типу Use Authentication User:

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

  • Пользователь SberMobile Server ищется в таблице Соответствие параметров пользователя LDAP пользователям SberMobile по атрибутам пользователя, найденным упомянутым запросом.