Настройка привилегий оператора
Данная функция предназначена для косвенного использования Elasticsearch Service, Elastic Cloud Enterprise и Elastic Cloud на 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" | Фиксированное значение | |
| Список имён пользователей, разрешённых для пользователей-операторов. Это обязательное поле. | |
| Тип аутентифицируемого realm, разрешённого для пользователей-операторов. По умолчанию и единственно допустимое значение — | |
| Тип аутентификации, разрешённый для пользователей-операторов. По умолчанию и единственно допустимое значение — |
Необходимо указать, по крайней мере, поле usernames. Если другие поля не указаны, используются значения по умолчанию. Все поля должны совпадать для того, чтобы пользователь считался пользователем-оператором. Также можно указать несколько наборов критериев. В настоящее время это не очень полезно, поскольку эта функция пока не поддерживает другие realm или типы аутентификации.
Также существуют два неявных правила, влияющих на то, какие пользователи являются пользователями-операторами:
- Если аутентифицированный пользователь выполняет запрос от имени другого пользователя, ни один из них не считается пользователем-оператором.
- Все внутренние пользователи неявно являются пользователями-операторами.
После того, как пользователь обозначен как пользователь-оператор, он всё ещё подлежит проверкам обычной авторизации 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/7.17/configure-operator-privileges.html