用户配置文件编辑

用户配置文件功能仅供 Kibana 和 Elastic 的可观察性、企业搜索和 Elastic 安全解决方案使用。单个用户和外部应用程序不应直接调用此 API。Elastic 保留更改或删除此功能的权利,恕不另行通知。

由于 Elastic Stack 支持外部管理的用户(例如通过 SAML 进行身份验证的用户,或存储在 LDAP 目录中的用户),因此用户与其配置文件之间存在区别。

用户是指向 Elastic Stack 身份验证请求的实体。每个用户都有一个用户名和一组权限(由 角色 表示),这些权限决定了他们可以发出哪些类型的请求。用户可以是临时的;它们可能仅在对 Elasticsearch API 的请求持续时间内存在,或者在 Kibana 中的会话生命周期内存在。这些用户在会话结束后无法检索,并且无法跨会话存储首选项。

用户配置文件提供用户持久且稳定的表示。即使用户离线,用户配置文件也存在,因此他们的配置文件会跨会话持久存在。分配给每个配置文件的唯一标识符在部署的整个生命周期内不会改变,从而提供了一种稳定的方式来引用关联的用户。每个配置文件都有一个唯一的标识符,可搜索,并且可以存储用户数据,例如格式和通知首选项。

无论用户是否在线,都能唯一地引用用户的能力是 Kibana 中个性化和协作等重要功能的基础的关键功能。

Kibana 中的用户配置文件编辑

用户配置文件是 Elastic Stack 为每个向 Kibana 进行身份验证的交互式用户存储的持久记录。

当用户登录 Kibana 时,会自动为用户创建配置文件,或者更新现有配置文件以反映用户的活动会话。通过使用用户配置文件的唯一 ID,Kibana 可以为每个用户单独存储用户级数据,例如首选项,这对于细粒度的自定义级别至关重要。无论用户是否登录,Kibana 都使用此唯一 ID 将消息和通知路由到不同的用户。

用户名和用户配置文件编辑

您可以对单个用户在多个领域中使用相同的用户名。在 Elasticsearch 中,两个不同的领域可以对具有相同用户名和不同角色的用户进行身份验证。默认情况下,Elasticsearch 不会假设这些用户是同一个人,并将他们视为具有不同用户配置文件的独立个人。

对于一个人可以针对多个领域进行身份验证的用例,您可以使用 安全域 功能,以便这些不同的用户被视为相同的身份并共享一个用户配置文件。

创建和管理用户配置文件编辑

要创建新的用户配置文件或更新现有配置文件,请使用 激活用户配置文件 API。当您提交请求时,Elasticsearch 会尝试为指定的用户找到现有的配置文件文档。如果不存在,Elasticsearch 会创建一个新的配置文件文档。

在这两种情况下,配置文件文档都会捕获用户的 full_nameemailrolesrealms,并且还包括配置文件唯一 ID 和操作的时间戳。您可以使用 获取用户配置文件 API 通过包含配置文件的唯一 ID (uid) 来检索用户配置文件。

除了用户的基本信息外,您还可以使用 更新用户配置文件数据 API 向配置文件文档添加数据。例如,您可以将用户特定的首选项添加为配置文件数据的一部分。

使用 建议用户配置文件 API 检索与给定条件匹配的配置文件。此 API 旨在支持用户建议,与 Kibana 中的功能(例如那些功能)协同工作。但是,建议用户配置文件 API 不打算提供通用搜索 API。

最后,您可以使用 用户配置文件是否有权限 API 通过指定配置文件的唯一 ID 来检查多个用户的权限。这可以与建议用户配置文件 API 结合使用,以将建议限制为仅具有在上下文中执行操作的必要权限的用户。

限制编辑

  • 创建新的用户配置文件需要用户的身份验证详细信息 (usernamepassword 或其 OAuth2 访问令牌)。这意味着用户必须至少进行一次身份验证才能创建用户配置文件。从未向 Kibana(或其他支持配置文件的应用程序)进行身份验证的用户将没有用户配置文件,并且 建议用户配置文件 API 不会为这些用户返回任何结果。
  • 用户配置文件适用于交互式用户,例如与 Kibana 交互的人类用户。因此,用户配置文件不支持 API 密钥或 服务帐户.

    支持代表交互式最终用户的 OAuth2 令牌.