建议用户配置文件 API
编辑建议用户配置文件 API
编辑用户配置文件功能仅供 Kibana 和 Elastic 的可观察性、企业搜索和 Elastic 安全解决方案使用。单个用户和外部应用程序不应直接调用此 API。Elastic 保留在未来版本中更改或删除此功能的权利,恕不另行通知。
获取与指定搜索条件匹配的用户配置文件建议。
查询参数
编辑-
data
- (可选,字符串) 用于配置文件文档
data
字段的过滤器列表,以逗号分隔。要返回所有内容,请使用data=*
。要返回内容的子集,请使用data=<key>
以检索指定<key>
下嵌套的内容。默认为不返回任何内容。
请求体
编辑同时将 data
指定为查询参数和请求体字段是错误的。
-
hint
-
(可选,对象) 用于提高建议结果相关性的额外搜索条件。与指定提示匹配的配置文件在响应中排名更高。但只要与
name
字段查询匹配,不匹配提示也不会将配置文件排除在响应之外。hint
的属性-
uids
- (可选,字符串列表) 要匹配的配置文件 UID 列表。
-
labels
- (可选,对象) 用于匹配配置文件
labels
部分的单个键值对。键必须是字符串,值必须是字符串或字符串列表。如果配置文件与至少一个字符串匹配,则被视为匹配。
-
响应体
编辑-
total
- (对象) 有关匹配配置文件数量的元数据。
-
took
- (整数) Elasticsearch 执行请求所花费的毫秒数。
-
profiles
- (对象数组) 与搜索条件匹配的配置文件文档列表,按相关性排序。
示例
编辑以下请求获取与 jack
匹配的与名称相关的字段的配置文件建议。它同时指定了 uids
和 labels
提示以提高相关性
resp = client.security.suggest_user_profiles( name="jack", hint={ "uids": [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0" ], "labels": { "direction": [ "north", "east" ] } }, ) print(resp)
const response = await client.security.suggestUserProfiles({ name: "jack", hint: { uids: [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", ], labels: { direction: ["north", "east"], }, }, }); console.log(response);
POST /_security/profile/_suggest { "name": "jack", "hint": { "uids": [ "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0" ], "labels": { "direction": ["north", "east"] } } }
配置文件的与名称相关的字段必须与 |
|
|
|
|
API 返回
{ "took": 30, "total": { "value": 3, "relation": "eq" }, "profiles": [ { "uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0", "user": { "username": "jacknich", "roles": [ "admin", "other_role1" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Nicholson" }, "labels": { "direction": "north" }, "data": {} }, { "uid": "u_8RKO7AKfEbSiIHZkZZ2LJy2MUSDPWDr3tMI_CkIGApU_0", "user": { "username": "jackspa", "roles": [ "user" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Sparrow" }, "labels": { "direction": "south" }, "data": {} }, { "uid": "u_P_0BMHgaOK3p7k-PFWUCbw9dQ-UFjt01oWJ_Dp2PmPc_0", "user": { "username": "jackrea", "roles": [ "admin" ], "realm_name": "native", "email" : "[email protected]", "full_name": "Jack Reacher" }, "labels": { "direction": "west" }, "data": {} } ] }