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
用戶的所有權限,驗證目標權限是否成功授予或收回。具體操作,請參見獲取指定用戶詳情。