Настройка привилегий оператора
Данная функция предназначена для косвенного использования службой Elasticsearch Service, Elastic Cloud Enterprise и Elastic Cloud on Kubernetes. Прямое использование не поддерживается.
Перед использованием привилегий оператора необходимо включить данную функцию на всех узлах кластера и назначить пользователей-операторов.
Включение привилегий оператора
Для использования функции привилегий оператора, её необходимо явно включить на каждом узле кластера. Добавьте следующее значение в каждый файл elasticsearch.yml:
xpack.security.operator_privileges.enabled: true
Если узел уже запущен до внесения этого изменения, необходимо перезапустить узел, чтобы функция вступила в силу.
Функция должна быть либо включена, либо отключена согласованно на всех узлах кластера. В противном случае, поведение может быть непредсказуемым, в зависимости от того, какой узел первым получит запрос и какой узел его выполнит.
При включении привилегий оператора в кластере, конкретные функции ограничены и могут быть выполнены только пользователями, явно назначенными как пользователи-операторы. Если обычный пользователь попытается выполнить эти функции (даже если у него есть роль superuser), произойдёт исключение безопасности.
Назначение пользователей-операторов
Пользователи-операторы — это обычные пользователи Elasticsearch со специальными правами для выполнения функций, доступных только операторам. Они указываются в файле operator_users.yml, который находится в каталоге конфигурации (как определено переменной среды ES_PATH_CONF). Аналогично другим файлам конфигурации безопасности, файл operator_users.yml локален для узла и не применяется глобально для всего кластера. Это означает, что в большинстве случаев один и тот же файл необходимо распределить или скопировать на все узлы кластера.
Файл operator_users.yml определяет набор критериев, которым должен соответствовать аутентифицированный пользователь, чтобы считаться пользователем-оператором. Следующий фрагмент кода демонстрирует пример такого файла:
operator:
- usernames: ["system_agent_1","system_agent_2"]
realm_type: "file"
auth_type: "realm" | Фиксированное значение | |
| Список имен пользователей, разрешённых для пользователей-операторов. Это поле является обязательным. | |
| Тип разрешённого аутентификационного домена для пользователей-операторов. Значение по умолчанию и единственно допустимое значение — | |
| Тип разрешённой аутентификации для пользователей-операторов. Значение по умолчанию и единственно допустимое значение — |
Вы должны указать как минимум поле usernames. Если другие поля не указаны, используются значения по умолчанию. Все поля должны совпадать, чтобы пользователь считался пользователем-оператором. Вы также можете указать несколько наборов критериев. В настоящее время это не очень полезно, так как данная функция пока не поддерживает другие домены или типы аутентификации.
Также существуют два неявных правила, которые влияют на то, какие пользователи являются пользователями-операторами:
- Если аутентифицированный пользователь выполняет запрос от имени другого пользователя, ни один из них не считается пользователем-оператором.
- Все внутренние пользователи неявно являются пользователями-операторами.
После того, как пользователь назначен пользователем-оператором, он всё ещё подпадает под обычные проверки авторизации RBAC пользователя. То есть помимо указания того, что пользователь является пользователем-оператором, необходимо также предоставить ему необходимые роли Elasticsearch для выполнения его задач. Следовательно, вполне возможно, что пользователь-оператор столкнётся с ошибкой «доступ запрещён» и не сможет выполнить определённые действия из-за сбоя проверки RBAC. Короче говоря, пользователь-оператор не автоматически является superuser.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/configure-operator-privileges.html