CSS ограничивает доступ к security-mode кластерам только авторизованными пользователями. При создании security-mode кластера необходимо создать учетную запись администратора. Эта учетная запись может позже использовать Kibana для добавления новых пользователей для кластера и предоставления им необходимых разрешений. В этом разделе в качестве примера используется Kibana 7.10.2, чтобы описать, как с помощью Kibana предоставить пользователям доступ к security-mode кластеру.
CSS использует plug-in opendistro_security для предоставления возможностей security‑cluster. plug-in opendistro_security построен на основе модели RBAC. RBAC включает три основных понятия: пользователь, действие и роль. RBAC упрощает взаимосвязь между пользователями и действиями, упрощает управление разрешениями и облегчает расширение и обслуживание разрешений. Figure 1 показывает взаимосвязь между этими тремя.
Figure 1 User, action, and role

Концепция | Описание |
|---|---|
Пользователь | Пользователь может отправлять запросы операций в кластер Elasticsearch. Пользователь имеет учетные данные, такие как имя пользователя и пароль, а также ноль или несколько backend roles и пользовательских атрибутов. |
Роль | Роль представляет собой комбинацию разрешений или групп действий, включая разрешения операций над кластерами, индексами, документами или полями. |
Разрешение | Одинарное разрешение, например, создание индекса (indices:admin/create). |
Сопоставление роли | Пользователю будет назначена одна или несколько ролей после успешной аутентификации. Role mapping — это сопоставление роли пользователю (или backend role). Например, сопоставление kibana_user (role) с Bob (user) означает, что Bob получает все разрешения kibana_user после аутентификации. Аналогично, сопоставление all_access (role) с admin (backend role) означает, что любой пользователь с backend role admin (из сервера LDAP/Active Directory) имеет все разрешения роли all_access после аутентификации. Вы можете сопоставлять каждую роль с несколькими пользователями или backend role. |
Action group | Группа действий представляет собой набор разрешений. Например, предопределённая SEARCH action group предоставляет ролям разрешения на использование API _search и _msearch. |
Помимо модели RBAC, Elasticsearch также использует концепцию под названием tenant. Модель RBAC решает задачу авторизации на уровне пользователя, тогда как модель tenant решает задачу совместного использования данных и ресурсов между различными tenant. В пространстве tenant tenants могут совместно использовать информацию, такую как dashboards и index patterns.
По умолчанию пользователи могут видеть только index patterns и dashboards в своём собственном приватном пространстве tenant. Когда добавляется новый пользователь test, система автоматически создаёт индекс с именем .kibana_xxx_test. Данные в приватном пространстве этого пользователя будут храниться в этом индексе. Аналогично, данные приватного пространства tenant администратора хранятся в индексе .kibana_xxx_admin. Чтобы поделиться index pattern или dashboard с другими tenant, их можно создать в глобальном tenant space. Другие пользователи могут получить доступ к общему ресурсу только переключившись в глобальное tenant space.
В консоли Kibana вы можете настроить разрешения пользователей для кластера Elasticsearch в разделе Security, чтобы реализовать детализированный контроль доступа на четырёх уровнях: cluster, index, document и field.
Пользователи могут быть добавлены или удалены для кластера и сопоставлены с ролями. Таким образом, вы назначаете роли пользователям.
С помощью role mapping вы можете настроить участников каждой роли и назначать роли пользователям на основе имён пользователей, backend role и имён хостов. Для каждой роли можно настроить разрешения cluster, index и document, а также разрешение на использование Kibana.
Для получения дополнительной информации о настройке безопасности для кластера в режиме security-mode и подробного руководства см. официальный документ Elasticsearch here.
Figure 2 Create internal user

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

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

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

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