用戶、角色、權限相關的語句都對應前端頁面的選項, 語句中的值XX=XX順序可以隨意調換,不強制順序與例句一致。
創建用戶
支持的語法:
[UDAL] CREATE USER [IF NOT EXISTS] 'user_name' IDENTIFIED BY '****' SET
manageCommand = 'true' | 'false'
AND profile = 'profile_name'
AND whitelist = 'true' | 'false'
AND freeFrontConnection = 'true' | 'false'
AND groups = '{ "setAll": "true" | "false", "groupList": "..." }'
AND canhint = 'true' | 'false'
AND role = 'role_name [, role_name2, ...]';其中,用戶名和密碼必填,其余參數為非必填。
語法說明:
user_name:需要創建的用戶名稱。
IDENTIFIED BY:指定用戶密碼。
manageCommand:是否有管理命令權限(true/false)。
profile:密碼策略,設定用戶的安全策略或權限等級(如 復雜度高-長期有效)。可以填寫中文或者英文,所填的值大小寫敏感:
中文 英文 復雜度低-臨時有效 Low complexity - temporary effective 復雜度中-短期有效 Medium complexity - short term effective 復雜度高-長期有效 High complexity - long term effective 復雜度高-永久有效 High complexity - permanent whitelist:是否有過載保護白名單權限(true/false)。
freeFrontConnection:是否前端連接不受限(true/false)。
canhint:是否具有Hint權限(true/false)。
role:賦予用戶的角色,可以是多個角色,如果是同時賦予多個角色,需要用逗號分開并用單引號或雙引號包括起來。
groups:指定用戶所擁有權限的分組信息以及對應分組的連接數限制信息,JSON格式,包含setAll和groupList。 setAll表示是否擁有所有分組權限,groupList表示擁有哪些分組權限以及對應的分組的連接數限制。當設置groups參數時必須包含這兩個值,否則報錯。
其中,groups指定用戶所擁有的分組權限時,根據是否前端連接不受限有以下組合:
不設置分組權限,則不需要設置groups參數。
當前端連接不受限,即
freeFrontConnection=true時,并擁有所有的分組權限,則設置groups='{ "setAll": "true", "groupList": "" }'。當前端連接不受限,即
freeFrontConnection=true時,并擁有部分分組權限,則設置groups='{ "setAll": "false", "groupList": "group1,group2" }'。當前端連接受限,即
freeFrontConnection=false時,需要設置分組權限時,如果對某分組不設置連接數限制則直接填寫分組名稱,如果對某分組設置連接數限制則填寫 分組名:連接數。 例如,groups = '{ "setAll": "false", "groupList":"r1,r2:100,r3" }'意為擁有部分分組的權限,具體為r1,r2,r3這三個分組的權限,其中r1,r3的前端連接數不受限制, r2的前端連接數限制為100。
修改用戶
支持的語法:
[UDAL] ALTER USER [IF EXISTS] 'user_name' IDENTIFIED BY '****' SET
manageCommand = 'true' | 'false'
AND profile = 'profile_name'
AND whitelist = 'true' | 'false'
AND freeFrontConnection = 'true' | 'false'
AND groups = '{ "setAll": "true" | "false", "groupList": "..." }'
AND canhint = 'true' | 'false'
AND role = 'role_name [, role_name2, ...]';其中,用戶名必填,其余參數選填,填寫的參數值將直接覆蓋原來的設置,其余未填寫參數將不做覆蓋保持原樣。
語法說明:
user_name:需要修改的用戶名稱。
IDENTIFIED BY:需要修改的用戶密碼。
manageCommand:是否有管理命令權限(true/false)。
profile:密碼策略,設定用戶的安全策略或權限等級(如 復雜度高-長期有效)。可以填寫中文或者英文,所填的值大小寫敏感:
中文 英文 復雜度低-臨時有效 Low complexity - temporary effective 復雜度中-短期有效 Medium complexity - short term effective 復雜度高-長期有效 High complexity - long term effective 復雜度高-永久有效 High complexity - permanent whitelist:是否有過載保護白名單權限(true/false)。
freeFrontConnection:是否前端連接不受限(true/false)。
canhint:是否具有Hint權限(true/false)。
role:賦予用戶的角色,可以是多個角色,如果是同時賦予多個角色,需要用逗號分開并用單引號或雙引號包括起來。
groups:指定用戶所擁有權限的分組信息以及對應分組的連接數限制信息,JSON格式,包含setAll和groupList。 setAll表示是否擁有所有分組權限,groupList表示擁有哪些分組權限以及對應的分組的連接數限制。當設置groups參數時必須包含這兩個值,否則報錯。
其中,groups指定用戶所擁有的分組權限時,根據是否前端連接不受限有以下組合:
不設置分組權限,則不需要設置groups參數。
當該用戶的前端連接不受限,即設置
freeFrontConnection=true,或者原本就設置了freeFrontConnection=true,本次alter沒有修改這個參數時,并擁有所有的分組權限,則設置groups='{ "setAll": "true", "groupList": "" }'。當前端連接不受限,即設置
freeFrontConnection=true,或者原本就設置了freeFrontConnection=true,本次alter沒有修改這個參數時,并擁有部分分組權限,則設置groups='{ "setAll": "false", "groupList": "group1,group2" }'。當前端連接受限,即設置
freeFrontConnection=false,或者原本就設置了freeFrontConnection=false,本次alter沒有修改這個參數時,需要設置分組權限時,如果對某分組不設置連接數限制則直接填寫分組名稱,如果對某分組設置連接數限制則填寫分組名:連接數。 例如,groups = '{ "setAll": "false", "groupList":"r1,r2:100,r3" }'意為擁有部分分組的權限,具體為r1,r2,r3這三個分組的權限,其中r1,r3的前端連接數不受限制, r2的前端連接數限制為100。
刪除用戶
支持的語法:
[UDAL] DROP USER [IF EXISTS] 'user_name'語法說明:
user_name: 需要刪除的用戶名稱。
創建角色
支持的語法:
[UDAL] CREATE ROLE [IF NOT EXISTS] 'role_name' comments 'role_comment';語法說明:
role_name:需要創建的角色名稱,必填。
role_comment:角色的描述,非必填。
修改角色
注意
該語法僅支持修改角色的描述,不支持修改角色名稱。
支持的語法:
[UDAL] ALTER ROLE [IF EXISTS] 'role_name' set comments 'role_comment';語法說明:
role_name:需要修改描述的角色名,必填。
role_comment:需要修改的描述,必填。
刪除角色
支持的語法:
[UDAL] DROP ROLE [IF EXISTS] 'role_name';語法說明:
role_name:需要刪除的角色名,必填。