Лёгкий протокол доступа к каталогам (LDAP) — это облегчённая версия протокола доступа к каталогам, основанная на стандарте X.500. Сервис LDAP предоставляет аутентификацию и авторизацию пользователей. С использованием плагина Security для Open Distro for Elasticsearch, CSS добавляет Active Directory в качестве бэкенда аутентификации для кластеров, подключая их прозрачно к сервису LDAP. В этой теме описываются шаги, необходимые для подключения кластера CSS к сервису LDAP.
Также описывается, как включить аутентификацию LDAP для кластера CSS, чтобы разрешить доступ пользователям LDAP с определёнными ролями.
Только кластеры Elasticsearch 7.10.2 в режиме security-mode могут быть доступны через LDAP.
Если Статус равен Успешно в списке изменений параметров изменение сохранено. До 20 записей об изменениях может быть отображено.
Параметр | Описание |
|---|---|
IP-адрес | Введите IP-адрес LDAP‑сервера. Если используется служба LDAP на ECS, введите IP-адрес ECS. |
Маска подсети | Введите маску подсети LDAP‑сервера. Если используется служба LDAP на ECS, введите маску подсети ECS. |
CN, OU и DC должны быть указаны в правильном порядке. В противном случае аутентификация завершится неудачей.
PUT _opendistro/_security/api/securityconfig/config{"dynamic": {"authc": {"basic_internal_auth_domain": {"description": "Authenticate via HTTP Basic against internal users database","http_enabled": true,"transport_enabled": true,"order": 1,"http_authenticator": {"type": "basic","challenge": true},"authentication_backend": {"type": "intern"}},"ldap": {"description": "Authenticate via LDAP or Active Directory","http_enabled": true,"transport_enabled": true,"order": 2,"http_authenticator": {"type": "basic","challenge": false},"authentication_backend": {"type": "ldap","config": {"enable_ssl": false,"enable_start_tls": false,"enable_ssl_client_auth": false,"verify_hostnames": true,"hosts": ["10.0.XXX.XXX:389"],"bind_dn": "CN=adminAD,DC=test,DC=ldap,DC=com","password": "<password>","userbase": "OU=ITDepartment,DC=test,DC=ldap,DC=com","usersearch": "(sAMAccountName={0})","username_attribute": "uid"}}}},"authz": {"roles_from_myldap": {"description": "Authorize via LDAP or Active Directory","http_enabled": true,"transport_enabled": true,"authorization_backend": {"type": "ldap","config": {"enable_ssl": false,"enable_start_tls": false,"enable_ssl_client_auth": false,"verify_hostnames": true,"hosts": ["10.0.XXX.XXX:389"],"bind_dn": "CN=adminAD,DC=test,DC=ldap,DC=com","password": "<password>","rolebase": "OU=groups,DC=test,DC=ldap,DC=com","rolesearch": "(member={0})","userroleattribute": null,"userrolename": "disabled","rolename": "CN","resolve_nested_roles": true,"userbase": "OU=ITDepartment,DC=test,DC=ldap,DC=com","usersearch": "(uid={0})"}}}}}}
Параметры в Таблица 2 необходимо изменить в зависимости от реальной среды.
Параметр | Описание |
|---|---|
хосты | Адрес службы LDAP. Номер порта 389. Если используется служба LDAP на ECS, введите IP‑адрес ECS. |
bind_dn | Это аналогично LDAP‑имени пользователя (CN - OU - DC) и используется для доступа к серверу LDAP. Выберите имя пользователя из данных пользователя службы LDAP. |
пароль | Пароль LDAP‑пользователя, настроенного с помощью bind_dn. |
userbase | После подключения сервиса LDAP получается DN, к которому принадлежит пользователь. В этом примере вся пользовательская информация в ITDepartment каталог синхронизируется. |
rolebase | Набор разрешений, которые можно настроить для userbase группы пользователей сервиса LDAP. |
Группа разрешений rolebase LDAP‑сервера должна быть сопоставлена ролям в кластере Elasticsearch. Рисунок 1 иллюстрирует сопоставление. Для получения деталей о конфигурации см Создание пользователей для кластера Elasticsearch и предоставление доступа к кластеру.
Рисунок 1 Сопоставление разрешений

Рисунок 2 Сопоставление разрешений

Если вход выполнен успешно, конфигурация считается успешной, и пользователи могут получить доступ к кластеру Elasticsearch через LDAP. Конкретные разрешения, предоставленные пользователям, управляются ролями‑разрешениями, настроенными в Elasticsearch.