Облачная платформаAdvanced

Доступ к кластеру OpenSearch с использованием LDAP

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Протокол лёгкого доступа к каталогу (LDAP) — это облегчённая версия протокола доступа к каталогу, основанная на стандарте X.500. Сервис LDAP обеспечивает аутентификацию и авторизацию пользователей. С помощью плагина Security для Open Distro for Elasticsearch, CSS добавляет Active Directory в качестве бэкенда аутентификации для кластеров, связывая их бесшовно с сервисом LDAP. В этом разделе описаны шаги, необходимые для подключения кластера CSS к сервису LDAP.

Также описывается, как включить аутентификацию LDAP для кластера OpenSearch, чтобы предоставить доступ пользователям LDAP с определёнными ролями.

Подготовка

  • Кластер OpenSearch в режиме безопасности был создан в CSS, и его статус — доступен.
  • Сервис LDAP, находящийся в том же VPC, что и кластер OpenSearch, и необходимые пользовательские данные были подготовлены. Для получения более подробной информации см. документ OpenLDAP: Руководство быстрого начала.

Доступ к кластеру

  1. Установите сервис LDAP на ECS. Если сервис LDAP и пользовательские данные уже подготовлены, пропустите этот шаг.

    1. Создайте ECS. ECS должен работать на Windows OS и находиться в том же VPC и группе безопасности, что и security-mode Elasticsearch кластер CSS. Windows Server, работающий на ECS, предоставляет встроенную службу Active Directory, поддерживающую протокол LDAP.
    2. Войдите в ECS и включите службу Active Directory. Создайте домен, администратора, пользователей и группы пользователей.

  2. Измените настройки параметров security-mode OpenSearch кластера в CSS. Настройте статический параметр в opensearch.yml для подключения кластера к службе LDAP.

    1. Войдите в консоль управления CSS.
    2. В левой навигационной панели выберите Кластеры > OpenSearch.
    3. В списке кластеров нажмите название целевого кластера. Отобразится страница информации о кластере.
    4. Выберите Настройки кластера > Настройки параметров, и нажмите Редактировать. Развернуть Пользовательский, и добавьте следующий параметр и значение.
      • Параметр: plugins.security.unsupported.restapi.allow_securityconfig_modification
      • Значение: true
    5. Нажмите Отправить выше. В отображаемом Отправить конфигурацию диалоговое окно, установите флажок, в котором указано "I understand that the modification will take effect after the cluster is restarted." и нажмите Да.

      Если Статус является Успешно в списке изменения параметров изменение было сохранено. Можно отобразить до 20 записей об изменениях.

    6. После сохранения изменений нажмите Перезапуск в правом верхнем углу, чтобы перезапустить кластер, тем самым применив изменения.
      • Вам необходимо перезапустить кластер после изменения, или Конфигурация не обновлена будет отображено в Состояние задачи столбце списка кластеров.
      • Если вы перезапустите кластер после изменения, и Состояние задачи отображается Ошибка конфигурации в списке кластеров файл конфигурации параметров не удалось изменить.

  3. Настройте маршрут для кластера OpenSearch в консоли CSS, чтобы подключить кластер к службе LDAP.

    1. На странице информации о кластере нажмите Обзор вкладка.
    2. В Конфигурация области, щелкните Добавить маршрут рядом с Маршрут кластера.
    3. В отображаемом диалоговом окне укажите информацию о маршруте.
      Таблица 1 Добавление маршрута

      Параметр

      Описание

      IP-адрес

      Введите IP-адрес LDAP‑сервера. Если используется служба LDAP на ECS, введите IP-адрес ECS.

      Маска подсети

      Введите маску подсети LDAP‑сервера. Если используется служба LDAP на ECS, введите маску подсети ECS.

    4. Нажмите OK.

  4. Настройте аутентификацию LDAP для кластера OpenSearch в режиме безопасности.

    1. На странице информации о кластере нажмите Dashboards в правом верхнем углу, чтобы войти в OpenSearch Dashboards.
    2. В OpenSearch Dashboards разверните меню в левом верхнем углу и выберите Dev Tools.
    3. Выполните следующие команды для настройки аутентификации LDAP.
      Note
      • Концепции, используемые в протоколе доступа к директории X.500 (включая LDAP):
        • CN = Общее имя
        • OU = Организационная единица
        • DC = Компонент домена
        • DN = Отличительное имя

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

      • Файл конфигурации состоит из двух частей: authc и authz.
        • authc (аутентификация): проверяет, действительно ли пользователь является тем, за кого себя выдает (проверка пароля).
        • authz (авторизация): проверяет, к чему текущий пользователь имеет доступ.
      PUT _plugins/_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 должны быть изменены в соответствии с реальной средой.

      Таблица 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.

  5. Настройте сопоставление прав LDAP‑пользователей и прав OpenSearch в кластере с режимом безопасности OpenSearch, чтобы включить детализацию управления доступом.

    Группа разрешений rolebase LDAP‑сервера должна быть сопоставлена ролям в кластере OpenSearch. Рисунок 1 иллюстрирует сопоставление. Для получения подробной информации о конфигурации см. Создание пользователей для кластера OpenSearch и предоставление доступа к кластеру.

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


    1. В OpenSearch Dashboards разверните меню в верхнем левом углу и выберите Безопасность. Эта Безопасность страница отображается.
    2. Нажмите Роли чтобы перейти на страницу ролей Open Distro Security. Нажмите Создать роль, установите Имя, Разрешения кластера, Разрешения индекса, и Разрешения арендатора. Затем нажмите Сохранить определение роли чтобы сохранить настройки роли. Параметры указаны ниже:
      • Имя (имя роли)
      • Разрешения кластера
      • Разрешения индекса
      • Разрешения Тенанта
    3. Нажмите на только что созданную роль, выберите Сопоставленные пользователи, введите группу разрешений службы LDAP в Роли бекенда, и нажмите Сопоставить.
    4. Проверьте результат конфигурации.

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


    5. Повторить 5.b к 5.d для отображения других групп разрешений.

  6. Войдите в OpenSearch Dashboards, используя пользователя LDAP, чтобы проверить конфигурацию.

    1. Войдите в консоль управления CSS.
    2. В навигационной панели слева выберите Кластеры > OpenSearch.
    3. В списке кластеров найдите целевой кластер и нажмите Dashboards в Операция столбец. Используйте пользователя LDAP, чтобы войти в OpenSearch Dashboards.

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