Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Защита Elastic Stack ›Аутентификация пользователей

Профили пользователей

Функция профилей пользователей предназначена только для использования Kibana и решений Elastic по наблюдаемости, поиску в корпоративных данных и Elastic Security. Отдельные пользователи и внешние приложения не должны напрямую вызывать этот API. Elastic оставляет за собой право изменять или удалять эту функцию в будущих выпусках без предварительного уведомления.

Так как Elastic Stack поддерживает внешне управляемых пользователей (например, пользователей, которые аутентифицируются через SAML или хранятся в каталоге LDAP), существует различие между пользователями и их профилями.

Пользователи — это сущности, которые аутентифицируют запросы к Elastic Stack. Каждый пользователь имеет имя пользователя и набор привилегий (представленных ролями), определяющих типы запросов, которые они могут выполнять. Пользователи могут быть временными; они могут существовать только в течение запроса к API Elasticsearch или в течение сеанса в Kibana. Этих пользователей нельзя получить после окончания сеанса, и они не могут сохранять предпочтения между сеансами.

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

Возможность уникальной ссылки на пользователей независимо от того, активны ли они в данный момент, является критически важной функцией, которая поддерживает такие важные функции, как персонализация и сотрудничество в Kibana.

Профили пользователей в Kibana

Профиль пользователя — это постоянная запись, которую Elastic Stack хранит для каждого интерактивного пользователя, который аутентифицируется в Kibana.

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

Имена пользователей и профили пользователей

Вы можете использовать одно имя пользователя в нескольких областях для одного пользователя. В Elasticsearch возможно, что две различные области аутентифицируют пользователей с одинаковым именем пользователя и разными ролями. Elasticsearch не предполагает, что эти пользователи — одно лицо и по умолчанию обрабатывает их как отдельных лиц с разными профилями пользователей.

Для случаев использования, когда один человек может аутентифицироваться в нескольких областях, вы можете использовать функцию области безопасности, чтобы эти разные пользователи рассматривались как один и тот же идентификатор и имели один профиль пользователя.

Создание и управление профилями пользователей

Чтобы создать новый профиль пользователя или обновить существующий, используйте API активации профиля пользователя. При отправке запроса Elasticsearch пытается найти существующий документ профиля для указанного пользователя. Если он не существует, Elasticsearch создает новый документ профиля.

В любом случае, документ профиля содержит full_name, email, roles, и realms, а также уникальный идентификатор профиля и временную метку операции. Вы можете получить профиль пользователя с помощью API получения профилей пользователей, указав уникальный идентификатор профиля (uid).

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

Используйте API предложения профилей пользователей для получения профилей, которые соответствуют заданным критериям. Этот API предназначен для поддержки предложений пользователей в сотрудничестве с такими функциями, как те, которые есть в Kibana. Однако API предложения профилей пользователей не предназначен для общего API поиска.

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

Ограничения

  • Создание нового профиля пользователя требует учетных данных пользователя (username и password или его токен доступа OAuth2). Это означает, что пользователь должен пройти аутентификацию как минимум один раз, чтобы создать профиль пользователя. Пользователи, которые никогда не проходили аутентификацию в Kibana (или другом приложении, использующем профили), не будут иметь профиль пользователя, и API предложения профилей пользователей не вернет никаких результатов для этих пользователей.
  • Профили пользователей предназначены для интерактивных пользователей, например, человека, взаимодействующего с Kibana. Поэтому профили пользователей не поддерживают API-ключи или учетные записи сервисов.

    Токены OAuth2, представляющие интерактивного конечного пользователя, поддерживаются.

© 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-profile.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API