Lindorm搜索引擎支持通过API接口创建或删除用户、赋予或收回指定权限,包括READ,WRITE和ADMIN权限。权限生效范围共两种:GLOBAL(全局范围)和TABLE(索引范围)。本文介绍在Lindorm搜索引擎中管理用户及其权限的方法。
注意事项
Lindorm搜索引擎用户及权限管理功能目前处于公测阶段,如需体验该功能,请联系Lindorm技术支持(钉钉号:s0s3eg3)。
用户管理
Lindorm搜索引擎开通后会自动创建一个默认用户,并为其分配默认用户名和密码。该用户具有全局管理权限(GLOBAL ADMIN权限)。如何获取默认用户名和密码,请参见查看连接信息。
只有具备全局管理权限的用户可以创建或删除用户、赋予或收回权限。
创建用户
语法
PUT _plugins/_security/api/user/<username>
参数说明
参数类型 | 参数名称 | 说明 |
路径参数 | username | 新用户的用户名。 |
请求体参数 | password | 新用户的密码。格式为 |
新创建的用户不具备任何权限,需要由具有全局管理权限(GLOBAL ADMIN)的用户对新用户进行权限分配。获得相应权限后,通过该用户向搜索引擎发送的符合权限范围的请求才会被服务端接受并执行。如何赋予权限,请参见权限管理。
示例
PUT _plugins/_security/api/user/newuser
{
"password": "test***"
}
结果验证
您可以获取用户列表,查看用户是否已创建成功。具体操作,请参见获取用户列表。
修改密码
语法
PUT _plugins/_security/api/account
参数说明
参数类型 | 参数名称 | 说明 |
请求体参数 | user | 需要修改密码的用户名。格式为 |
password | 新用户的密码。格式为 |
示例
PUT _plugins/_security/api/account
{
"user": "newuser",
"password": "newpassword"
}
获取用户列表
语法
GET _plugins/_security/api/user
示例
GET _plugins/_security/api/user
获取指定用户详情
语法
GET _plugins/_security/api/user/<username>
参数说明
参数类型 | 参数名称 | 说明 |
路径参数 | username | 需要获取详细信息的用户。 |
示例
GET _plugins/_security/api/user/newuser
删除用户
语法
DELETE _plugins/_security/api/user/<username>
参数说明
参数类型 | 参数名称 | 说明 |
路径参数 | username | 需要删除的用户。 |
示例
DELETE _plugins/_security/api/user/newuser
结果验证
您可以获取用户列表,查看用户是否已成功删除。具体操作,请参见获取用户列表。
权限管理
Lindorm搜索引擎中,权限分为三种(READ,WRITE,ADMIN),并且支持设置权限生效范围。
权限范围 | 说明 |
GOLBAL |
|
TABLE |
|
管理用户权限
语法
POST _plugins/_security/api/user/<username>
参数说明
路径参数
username:需要赋予或收回权限用户。
请求体参数
参数 | 是否必填 | 说明 |
op | 是 | 指定赋予或收回某一权限,格式为
|
scope | 否 | 指定权限赋予或收回操作的生效范围。当前仅支持指定为 |
table | 否 | 指定需要赋予或收回权限的索引,格式为 |
actions | 是 | 要赋予或收回的权限,格式为
具体使用方式,请参见示例。 |
scope参数和table参数均表示权限操作的生效范围,填写时仅填写其中一项。
示例
示例一:为用户
test
赋予全局管理权限。POST _plugins/_security/api/user/test { "op": "add", "permissions": { "scope": "GLOBAL", "actions": ["ADMIN"] } }
示例二:为用户
test
赋予索引index1
的读写权限。POST _plugins/_security/api/user/test { "op": "add", "permissions": { "table": "index1", "actions": ["READ", "WRITE"] } }
示例三:收回用户
test
对索引index1
的读权限。POST _plugins/_security/api/user/test { "op": "revoke", "permissions": { "table": "index1", "actions": ["READ"] } }
结果验证
您可以查看test
用户的所有权限,验证目标权限是否成功授予或收回。具体操作,请参见获取指定用户详情。