Аутентификация с использованием LDAP
Для аутентификации пользователей ADQM можно использовать удаленный сервер LDAP как:
-
внешний аутентификатор для существующих пользователей ADQM;
-
внешний каталог, в котором хранится информация об учетных записях пользователей и их правах доступа. Этот подход позволяет аутентифицировать пользователей, не созданных локально в ADQM, но заданных на сервере LDAP.
Для обоих подходов необходимо определить параметры подключения ADQM к серверу LDAP.
Настройка параметров подключения к серверу LDAP
В интерфейсе ADCM перейдите на страницу конфигурирования сервиса ADQMDB (ADQM cluster → Services → ADQMDB → Primary Configuration) и активируйте опцию Configuration → Enable LDAP. В развернувшейся секции настройте следующие параметры доступа к серверу LDAP:
-
name — имя конфигурации подключения к серверу LDAP.
-
ldap_hostname — имя хоста или IP сервера LDAP.
-
ldap_port — порт сервера LDAP (если настройка enable_tls установлена в
yes
, по умолчанию используется порт636
, иначе —389
). -
bind_dn — шаблон для построения DN подключения, в котором подстрока
{user_name}
будет заменяться на фактическое имя пользователя при каждой попытке аутентификации. -
base_dn и search_filter — параметры поиска LDAP для определения фактического значения DN подключенного пользователя (используется в основном в фильтрах поиска для дальнейшего сопоставления ролей, когда сервер является Active Directory — полученный DN пользователя будет использоваться при замене подстрок
{user_dn}
). -
При необходимости использования безопасного соединения с сервером LDAP включите enable_tls и укажите пути к ключу и сертификатам SSL/TLS в соответствующих параметрах (подробнее в статье Конфигурационные параметры).

После определения всех параметров подключения к серверу 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, необходимо присвоить роли. Для этого выполните следующие действия.
-
Создайте в ADQM одну или несколько ролей, которые будут назначаться аутентифицированным пользователям, с помощью запроса:
CREATE ROLE <ldap_user_role>;
-
На странице конфигурации сервиса ADQMDB (секция Configuration → Enable LDAP), в настройках LDAP server включите опцию rbac_enable (управление доступом на основе ролей) и установите параметры ниже в зависимости от того, как должны назначаться роли аутентифицированным через LDAP-каталог пользователям. Есть два способа назначения ролей.
-
Задать роль по умолчанию для всех аутентифицированных пользователей. Используя параметр rbac_default_role, укажите роль, созданную ранее с помощью запроса
CREATE ROLE
. -
Сопоставить роли из каталога LDAP с ролями ADQM. Задайте следующие параметры:
-
rbac_base_dn — базовый DN для поиска групп, включающих пользователя.
-
rbac_scope — область поиска LDAP (возможные значения:
base
,one_level
,children
,subtree
). -
rbac_search_filter — шаблон фильтра поиска LDAP для определения групп, которые необходимо выбрать для сопоставления пользователей. В результирующем фильтре подстроки шаблона
{user_name}
,{bind_dn}
,{user_dn}
и{base_dn}
будут заменяться на фактическое имя пользователя, DN подключения, DN пользователя и базовый DN соответственно при каждом поиске LDAP. -
rbac_attribute — имя атрибута, значение которого будет использоваться для сопоставления с ролью, заданной в ADQM.
-
rbac_role_prefix — префикс значения атрибута для поиска в дереве LDAP. Указанный префикс удаляется из найденного значения атрибута, а остальная часть значения рассматривается как имя заданной в ADQM роли — эта роль будет назначена аутентифицированному пользователю.
-
Параметры назначения ролей пользователям, аутентифицированным через LDAP-каталогЧтобы завершить конфигурирование параметров и применить все изменения, нажмите Save и выполните Reconfig and restart для сервиса ADQMDB. Указанные значения будут записаны в соответствующие секции внутри секции
user_directories/ldap
конфигурационного файла config.xml:roles
(роль по умолчанию) иrole_mapping
(параметры поиска ролей в каталоге LDAP для сопоставления с ролями ADQM). -
Описанные способы назначения ролей можно использовать по одному или оба одновременно. Аутентифицированному пользователю присваивается роль по умолчанию (Default role
). Если дополнительно настроены параметры сопоставления ролей, результаты LDAP-поиска преобразуются в имена ролей и соответствующие роли ADQM тоже будут назначены пользователю. Если ни один из способов назначения ролей не сконфигурирован, пользователи не смогут выполнять никаких действий после аутентификации.