用户配置文件
ECE ECK Elastic Cloud Hosted
用户配置文件功能仅供 Kibana 以及 Elastic 的 Observability 和 Elastic Security 解决方案使用。个人用户和外部应用程序不应直接调用此 API。 Elastic 保留在未来版本中更改或删除此功能的权利,恕不另行通知。
由于 Elastic Stack 支持外部管理的用户(例如,通过 SAML 验证的用户或存储在 LDAP 目录中的用户),因此用户和他们的配置文件之间存在区别。
用户是指对 Elastic Stack 进行请求身份验证的实体。 每个用户都有一个用户名和一组权限(由 角色 表示),这些权限决定了他们可以发出哪些类型的请求。 用户可以是临时的;它们可能仅存在于对 Elasticsearch API 的请求期间,或者存在于 Kibana 会话的生命周期中。 这些用户在会话结束后无法检索,也无法跨会话存储首选项。
用户配置文件提供了用户的持久和稳定的表示。 即使用户离线,用户配置文件也存在,因此他们的配置文件会跨会话持久存在。 分配给每个配置文件的唯一标识符在部署的整个生命周期中都不会更改,从而提供了一种引用关联用户的稳定方式。 每个配置文件都有一个唯一标识符,可以搜索,并且可以存储用户数据,例如格式和通知首选项。
无论用户是否在线,都能唯一地引用用户,这一功能是 Kibana 中个性化和协作等重要功能的基础。
用户配置文件是 Elastic Stack 为每个向 Kibana 验证身份的交互用户存储的持久记录。
当用户登录到 Kibana 时,会自动为该用户创建一个配置文件,或者更新现有配置文件以反映用户的活动会话。 通过使用用户配置文件的唯一 ID,Kibana 可以为每个用户单独存储用户级别的数据(例如首选项),这对于细粒度的自定义级别至关重要。 无论用户是否登录,Kibana 都会使用此唯一 ID 将消息和通知路由到不同的用户。
您可以在单个用户的多个 realm 中使用相同的用户名。 在 Elasticsearch 中,两个不同的 realm 可以使用相同的用户名和不同的角色来验证用户身份。 Elasticsearch 默认不认为这些用户是同一个人,而是将他们视为具有不同用户配置文件的独立个体。
对于一个人可以针对多个 realm 进行身份验证的用例,您可以使用 安全域 功能,以便将这些不同的用户视为同一身份并共享单个用户配置文件。
要创建新的用户配置文件或更新现有的用户配置文件,请使用 激活用户配置文件 API。 当您提交请求时,Elasticsearch 会尝试查找指定用户的现有配置文件文档。 如果不存在,Elasticsearch 会创建一个新的配置文件文档。
在任何一种情况下,配置文件文档都会捕获用户的 full_name
、email
、roles
和 realms
,并且还包括配置文件的唯一 ID 和操作的时间戳。 您可以使用 获取用户配置文件 API 并包括配置文件的唯一 ID (uid
) 来检索用户配置文件。
除了用户的基本信息之外,您还可以使用 更新用户配置文件 API 将数据添加到配置文件文档中。 例如,您可以将用户特定的首选项添加为配置文件数据的一部分。
使用 建议用户配置文件 API 检索符合给定条件的配置文件。 此 API 旨在支持用户建议,并与 Kibana 等功能协作。 但是,建议用户配置文件 API 并非旨在提供通用的搜索 API。
最后,您可以使用 用户配置文件的权限 API 通过指定其配置文件的唯一 ID 来检查多个用户的权限。 这可以与建议用户配置文件 API 结合使用,以便仅将建议限制为具有实际在上下文中执行操作所需权限的用户。
创建新的用户配置文件需要用户的身份验证详细信息(
username
和password
或其 OAuth2 访问令牌)。 这意味着用户必须至少进行一次身份验证才能创建用户配置文件。 从未向 Kibana(或其他支持配置文件的应用程序)进行身份验证的用户将没有用户配置文件,并且 建议用户配置文件 API 不会返回任何这些用户的结果。用户配置文件适用于交互用户,例如与 Kibana 交互的人类用户。 因此,用户配置文件不支持 API 密钥或 服务账户。
注意OAuth2 令牌(代表交互式最终用户)受支持。