Аутентификация с использованием 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, нажмите 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), включите опцию 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-каталогЧтобы завершить конфигурирование параметров и применить все изменения, нажмите Save и выполните Reconfig and restart для сервиса ADQMDB. Указанные значения будут записаны в соответствующие секции внутри секции
user_directories/ldap
конфигурационного файла config.xml:roles
(роль по умолчанию) иrole_mapping
(параметры поиска ролей в каталоге LDAP для сопоставления с ролями ADQM). -
Описанные способы назначения ролей можно использовать по одному или оба одновременно. Аутентифицированному пользователю присваивается роль по умолчанию (Default role
). Если дополнительно настроены параметры сопоставления ролей, результаты LDAP-поиска преобразуются в имена ролей и соответствующие роли ADQM тоже будут назначены пользователю. Если ни один из способов назначения ролей не сконфигурирован, пользователи не смогут выполнять никаких действий после аутентификации.