CSS ограничивает доступ к кластерам в режиме security-mode только авторизованными пользователями. При создании кластера в режиме security-mode необходимо создать учетную запись администратора. Затем эта учетная запись администратора может использовать Kibana для добавления новых пользователей в кластер и предоставления им необходимых разрешений. В данном руководстве в качестве примера используется Kibana 7.10.2 для описания того, как с помощью Kibana предоставить пользователям доступ к кластеру в режиме security-mode.
CSS использует opendistro_security плагин для обеспечения возможностей кластера безопасности. opendistro_security плагин построен на основе модели RBAC. RBAC включает три ключевые концепции: пользователь, действие и роль. RBAC упрощает взаимосвязь между пользователями и действиями, упрощает управление разрешениями и облегчает расширение и обслуживание прав. Рисунок 1 показывает взаимосвязь между тремя.
Рисунок 1 Пользователь, действие и роль

Концепция | Описание |
|---|---|
Пользователь | Пользователь может отправлять запросы операций в кластер Elasticsearch. Пользователь имеет учетные данные, такие как имя пользователя и пароль, а также ноль или несколько ролей бекенда и пользовательских атрибутов. |
Роль | Роль — это комбинация разрешений или групп действий, включая разрешения операций над кластерами, индексами, документами или полями. |
Разрешение | Одинарное разрешение, например, создание индекса (например, indices:admin/create). |
Сопоставление ролей | Пользователю будет назначена одна или несколько ролей после успешной аутентификации. Сопоставление ролей — это привязка роли к пользователю (или роли бекенда). Например, сопоставление от kibana_user (role) to Bob (user) означает, что Bob получает все разрешения kibana_user после аутентификации. Аналогично, сопоставление от all_access (роль) к админ (backend роль) означает, что любой пользователь с backend ролью админ (из LDAP/Active Directory сервера) имеет все разрешения роли all_access после аутентификации. Вы можете сопоставлять каждую роль нескольким пользователям или backend ролям. |
Группа действий | Группа действий — это набор разрешений. Например, предопределённые SEARCH группа действий предоставляет ролям разрешения на использование _search и _msearch APIs. |
Помимо модели RBAC, Elasticsearch также использует концепцию под названием tenant. Модель RBAC решает проблему авторизации на уровне пользователя, тогда как модель tenant решает проблему совместного использования данных и ресурсов между различными тенантами. Внутри пространства тенанта тенанты могут совместно использовать информацию, такую как дашборды и шаблоны индексов.
По умолчанию пользователи могут видеть только шаблоны индексов и дашборды в собственном приватном пространстве тенанта. Когда новый пользователь тест добавлен, система автоматически создает индекс с именем .kibana_xxx_test. Данные в приватном пространстве этого пользователя будут храниться в этом индексе. Аналогично, данные приватного пространства администратора хранятся в .kibana_xxx_admin индекс. Чтобы поделиться шаблоном индекса или дашбордом с другими тенантами, вы можете создать их в глобальном пространстве тенанта. Другие пользователи могут получить доступ к общему ресурсу только переключившись в глобальное пространство тенанта.
В консоли Kibana вы можете настроить разрешения пользователей на кластере Elasticsearch в разделе Безопасность для реализации детального контроля доступа на четырех уровнях: кластер, индекс, документ и поле.
Пользователи могут быть добавлены или удалены для кластера и сопоставлены с ролями. Таким образом, вы назначаете роли пользователям.
С помощью сопоставления ролей вы можете настроить участников каждой роли и назначать роли пользователям на основе имен пользователей, backend ролей и имён хостов. Для каждой роли вы можете настроить разрешения кластера, индекса и документа, а также разрешение на использование Kibana.
Для получения дополнительной информации о конфигурации безопасности для кластера в режиме security‑mode и подробного руководства см. официальный документ Elasticsearch здесь.
Рисунок 2 Создать внутреннего пользователя

Следующие два параметра являются необязательными. Вы можете щелкнуть Подробнее на странице, чтобы узнать о них подробнее.
Рисунок 3 Настройка имени роли

В Elasticsearch разрешение cluster_monitor позволяет пользователям мониторить и наблюдать за статусом кластера, но не выполнять операции, которые могут изменить статус кластера. Конкретно, разрешение cluster_monitor позволяет пользователям выполнять следующие операции:
Рисунок 4 Разрешения кластера

Используйте разные имена для индекса и пользователя.

Мы видим, что пользователь test имеет только разрешение проверять статус кластера, но не может создавать индексы. Конфигурация выполнена успешно.
При необходимости вы можете добавить разрешение на создание индексов для роли позже. Вернувшееся сообщение об ошибке содержит подсказки по добавлению разрешений роли.