获取用户配置文件 API
编辑获取用户配置文件 API编辑
用户配置文件功能仅供 Kibana 和 Elastic 的可观察性、企业搜索和 Elastic 安全解决方案使用。个人用户和外部应用程序不应直接调用此 API。Elastic 保留将来在不事先通知的情况下更改或删除此功能的权利。
使用唯一配置文件 ID 列表检索用户配置文件。
请求编辑
GET /_security/profile/<uid>
路径参数编辑
-
uid
- (必填,字符串)用户配置文件的唯一标识符。您可以将多个 ID 指定为逗号分隔的列表。
查询参数编辑
-
data
- (可选,字符串)配置文件文档的
data
字段的过滤器逗号分隔列表。要返回所有内容,请使用data=*
。要返回内容的子集,请使用data=<key>
检索嵌套在指定<key>
下的内容。默认情况下不返回任何内容。
响应正文编辑
成功的调用将返回用户配置文件及其内部版本号的 JSON 表示形式。如果未找到提供 uid
的配置文件文档,则 API 将返回一个空对象。默认情况下,不会返回 data
字段的内容,以避免反序列化潜在的大型有效负载。
示例编辑
GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0
对于与 u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0
匹配的 uid
,API 将返回以下响应
{ "profiles": [ { "uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", "enabled": true, "last_synchronized": 1642650651037, "user": { "username": "jacknich", "roles": [ "admin", "other_role1" ], "realm_name": "native", "full_name": "Jack Nicholson", "email": "[email protected]" }, "labels": { "direction": "north" }, "data": {}, "_doc": { "_primary_term": 88, "_seq_no": 66 } } ] }
以下请求检索嵌套在键 app1
下的 data
子集,以及用户的配置文件
GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0?data=app1.key1
{ "profiles": [ { "uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", "enabled": true, "last_synchronized": 1642650651037, "user": { "username": "jacknich", "roles": [ "admin", "other_role1" ], "realm_name": "native", "full_name": "Jack Nicholson", "email": "[email protected]" }, "labels": { "direction": "north" }, "data": { "app1": { "key1": "value1" } }, "_doc": { "_primary_term": 88, "_seq_no": 66 } } ] }
如果在检索用户配置文件时出现任何错误,则会在 errors
字段中返回这些错误
{ "profiles": [], "errors": { "count": 1, "details": { "u_FmxQt3gr1BBH5wpnz9HkouPj3Q710XkOgg1PWkwLPBW_5": { "type": "resource_not_found_exception", "reason": "profile document not found" } } } }