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

Для аутентификации пользователей ADQM можно использовать удаленный сервер LDAP как:

  • внешний аутентификатор для существующих пользователей ADQM;

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

Для обоих подходов необходимо определить параметры подключения ADQM к серверу LDAP.

Настройка параметров подключения к серверу LDAP

В интерфейсе ADCM перейдите на страницу конфигурирования сервиса ADQMDB (ADQM cluster → Services → ADQMDB → Primary Configuration) и активируйте опцию Configuration → Enable LDAP. В развернувшейся секции настройте следующие параметры доступа к серверу LDAP:

  • LDAP hostname — имя хоста или IP сервера LDAP.

  • LDAP port — порт сервера LDAP (если настройка Enable TLS установлена в yes, по умолчанию используется порт 636, иначе — 389).

  • DN prefix и DN suffix — префикс и суффикс, используемые для построения DN подключения (bind_dn) в виде строки auth_dn_prefix{user_name}auth_dn_suffix, где подстрока {user_name} будет заменяться на фактическое имя пользователя при каждой попытке аутентификации.

  • При необходимости использования безопасного соединения с сервером LDAP включите Enable TLS и укажите пути к ключу и сертификатам SSL/TLS в соответствующих параметрах (подробнее в статье Конфигурационные параметры).

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

После определения всех параметров подключения к серверу LDAP, нажмите Save и выполните действие Reconfig and restart для сервиса ADQMDB, чтобы применить изменения. В секцию <ldap_servers> файла config.xml добавится заданная конфигурация подключения к серверу LDAP с именем ldap_server — это имя нужно будет указывать при создании пользователей ADQM, аутентифицируемых через LDAP.

Использование LDAP для аутентификации пользователей ADQM

Удаленный сервер LDAP можно использовать для хранения и управления паролями пользователей, локально определенных в ADQM (созданных с помощью запроса CREATE USER или заданных в файле users.xml). То есть можно не указывать пароль при создании пользователя в ADQM, а использовать сервер LDAP для проверки пароля, введенного при аутентификации. Для этого при определении пользователя ADQM укажите конфигурацию подключения к серверу LDAP (ldap_server) одним из следующих способов.

  • Используйте выражение IDENTIFIED WITH ldap SERVER в запросе CREATE USER:

    CREATE USER <ldap_user> IDENTIFIED WITH ldap SERVER 'ldap_server';
  • Заполните элемент ldap для пользователя в конфигурационном файле users.xml:

<users>
    <ldap_user>
        <ldap>
            <server>ldap_server</server>
        </ldap>
        <!- ... -->
    </ldap_user>
</users>

где <ldap_user> — имя пользователя ADQM (должно совпадать с именем пользователя на сервере LDAP — значение между auth_dn_prefix и auth_dn_suffix в записи вида dn: auth_dn_prefix{user_name}auth_dn_suffix).

После этого пользователь ldap_user может подключаться к ADQM со своим паролем, заданным на сервере LDAP.

Использование LDAP для хранения имен и прав пользователей

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

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

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

  1. Создайте в ADQM одну или несколько ролей, которые будут назначаться аутентифицированным пользователям, с помощью запроса:

    CREATE ROLE <ldap_user_role>;
  2. На странице конфигурации сервиса ADQMDB (секция Configuration → Enable LDAP), включите опцию Enable RBAC (управление доступом на основе ролей) и установите параметры ниже в зависимости от того, как должны назначаться роли аутентифицированным через LDAP-каталог пользователям. Есть два способа назначения ролей.

    • Задать роль по умолчанию для всех аутентифицированных пользователей. Используя параметр Default role, укажите роль, созданную ранее с помощью запроса CREATE ROLE.

    • Сопоставить роли из каталога LDAP с ролями ADQM. Задайте следующие параметры:

      • Base DN — базовый DN для поиска в дереве LDAP.

      • Search filter — шаблон для создания фильтра поиска в дереве LDAP с подстроками {user_name}, {bind_dn}, {user_dn} и {base_dn}, которые будут заменяться в результирующем фильтре на фактическое имя пользователя, DN подключения, DN пользователя и базовый DN соответственно при каждом LDAP-поиске.

      • Attribute — имя атрибута, значение которого будет использоваться для сопоставления с ролью, заданной в ADQM.

      • Role prefix — префикс значения атрибута для поиска в дереве LDAP. Указанный префикс удаляется из найденного значения атрибута, а остальная часть значения рассматривается как имя заданной в ADQM роли — эта роль будет назначена аутентифицированному пользователю.

    Параметры назначения ролей пользователям, аутентифицированным через LDAP-каталог
    Параметры назначения ролей пользователям, аутентифицированным через LDAP-каталог

    Чтобы завершить конфигурирование параметров и применить все изменения, нажмите Save и выполните Reconfig and restart для сервиса ADQMDB. Указанные значения будут записаны в соответствующие секции внутри секции user_directories/ldap конфигурационного файла config.xml: roles (роль по умолчанию) и role_mapping (параметры поиска ролей в каталоге LDAP для сопоставления с ролями ADQM).

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

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней