Поиск пользователей без авторизации
Реализации Elasticsearch областей в первую очередь предназначены для поддержки авторизации пользователей. Некоторые области выполняют авторизацию пользователей с паролем (например, native и ldap области), а другие области используют более сложные протоколы аутентификации (например, saml и oidc области). В каждом случае основная цель области — установить личность пользователя, который направил запрос к API Elasticsearch.
Однако некоторые функции Elasticsearch должны находить пользователя без использования его учетных данных.
- Функция
run_asвыполняет запросы от имени другого пользователя. Авторизованный пользователь с правамиrun_asможет выполнять запросы от имени другого неавторизованного пользователя. - Функция делегированной авторизации связывает две области, поэтому пользователь, который прошел аутентификацию в одной области, может получить роли и метаданные, связанные с пользователем из другой области.
В каждом из этих случаев пользователь должен сначала пройти аутентификацию в одной области, а затем Elasticsearch запросит другую область, чтобы найти другого пользователя. Учетные данные авторизованного пользователя используются для аутентификации только в первой области. Пользователь во второй области извлекается по имени пользователя без необходимости в предоставлении учетных данных.
Когда Elasticsearch находит пользователя по его учетным данным (как выполняется в первой области), это называется аутентификацией пользователя.
Когда Elasticsearch находит пользователя только по имени пользователя (как выполняется во второй области), это называется поиском пользователя.
См. документацию по run_as и делегированной авторизации, чтобы узнать больше об этих функциях, включая области и методы аутентификации, которые поддерживают run_as или делегированную авторизацию. В обоих случаях для поиска пользователя могут использоваться только следующие области:
- Зарезервированные,
nativeиfileобласти всегда поддерживают поиск пользователя. - Область
ldapподдерживает поиск пользователя, когда область настроена в режиме поиска пользователя. Поиск пользователя не поддерживается, когда область настроена сuser_dn_templates. - Поддержка поиска пользователя в области
active_directoryтребует, чтобы область была настроена сbind_dnи паролем привязки.
Области pki, saml, oidc, kerberos и jwt не поддерживают поиск пользователя.
Если вы хотите использовать область только для поиска пользователя и предотвратить аутентификацию пользователей в этой области, вы можете настроить область и установить authentication.enabled на false
Функция поиска пользователя является внутренней возможностью, используемой для реализации функций run-as и делегированной авторизации — нет API для поиска пользователя. Если вы хотите протестировать свою конфигурацию поиска пользователя, вы можете сделать это с помощью run_as. Используйте API Авторизация, авторизуйтесь как superuser (например, встроенный пользователь elastic) и укажите заголовок запроса es-security-runas-user.
API Получение пользователей и функция Профили пользователей являются альтернативными способами получения информации о пользователе Elastic Stack. Эти API не связаны с функцией поиска пользователя.
© 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/user-lookup.html