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

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

Помимо Microsoft Active Directory, функция аутентификации LDAP может использоваться с LDAP-серверами, совместимыми с RFC (например, решениями на основе FreeIPA, такими как ALD PRO). Следует помнить, что Microsoft Active Directory поддерживает привязку с использованием UPN (User Principal Name, например, user@domain), в то время как многие LDAP-серверы, совместимые с RFC, требуют привязки с использованием DN (Distinguished Name, например, uid=user,cn=...,dc=domain,dc=tld). Если вы интегрируетесь с LDAP-сервером, отличным от AD, и видите сообщение «Неверный пароль» для действительных учетных данных, проверьте параметр useUid.

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

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

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

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

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

  • useUid. Логический флаг (по умолчанию: false), переключающий плагин на поток аутентификации в стиле RFC для серверов LDAP, отличных от Microsoft. При включении плагин использует Distinguished Name (DN) вместо User Principal Name (UPN) во время привязки LDAP и использует uid вместо sAMAccountName в запросах поиска LDAP. Оставьте его отключенным для типичных конфигураций Microsoft Active Directory (обратная совместимость) и включите для серверов LDAP, совместимых с RFC, таких как FreeIPA/ALD PRO.

  • Соответствие контейнеров по умолчанию. Таблица, использующаяся для преобразования primaryGroupID LDAP-пользователя (из столбца ID) в имя группы (указано с столбце Name). Используется только если выбран тип аутентификации Использовать RDN префикс. Обратите внимание, что primaryGroupID является специфическим для Microsoft Active Directory; многие LDAP-серверы, совместимые с RFC (например, FreeIPA/ALD PRO), не предоставляют его, поэтому в таких средах эту таблицу можно игнорировать.

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

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

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

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

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

Обратите внимание, что в режиме Use RDN Prefix авторизация на основе групп обычно реализуется с помощью атрибута memberOf в таблице сопоставления атрибутов пользователей LDAP с AggreGate. Другие атрибуты, такие как distinguishedName / userPrincipalName, могут существовать в схеме LDAP, но они не предназначены для сопоставления групп с ролями в этом режиме.

Обратите внимание, что учетные записи пользователей авторизации LDAP user1 и user1@domain.com эквивалентны и распознаются как user1, но вариант domain.com/user1 нельзя использовать в AggreGate.

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

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

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

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

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

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

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

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

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

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

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

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

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

Следующие шаги описывают, как выполняется аутентификация, если для параметра Тип установлено значение Use Authentication User:

  • Выполняется LDAP-запрос для поиска пользователя по атрибуту входа:

    • sAMAccountName используется, когда useUid отключен (типичный случай Microsoft Active Directory)

    • uid используется, когда useUid включен (серверы LDAP, соответствующие RFC)

    • Для выполнения запроса используются параметры имени пользователя и пароля.

  • Пользователь AggreGate Server ищется в сопоставлении атрибутов пользователя LDAP с пользователем AggreGate в соответствии с атрибутами пользователя, найденного с помощью вышеуказанного запроса.

  • После того, как запись пользователя найдена, AggreGate Server проверяет учетные данные пользователя, выполняя привязку LDAP:

    • с UPN, когда useUid отключен (если применимо для сервера LDAP),

    • с DN, когда useUid включен.

Was this page helpful?