用户管理
用户管理是Nebula Graph访问控制中不可或缺的组成部分,本文将介绍用户管理的相关语法。
开启身份验证后,用户需要使用已创建的用户才能连接Nebula Graph,而且连接后可以进行的操作也取决于该用户拥有的角色权限。
Note
- 默认情况下,身份验证功能是关闭的,用户可以使用root用户名和任意密码连接到Nebula Graph。
- 修改权限后,对应的用户需要重新登录才能生效。
创建用户(CREATE USER
)
执行CREATE USER
语句可以创建新的Nebula Graph用户。当前仅God角色用户(即root
用户)能够执行CREATE USER
语句。
语法
CREATE USER [IF NOT EXISTS] <user_name> [WITH PASSWORD '<password>'];
示例
nebula> CREATE USER user1 WITH PASSWORD 'nebula';
授权用户(GRANT ROLE
)
执行GRANT ROLE
语句可以将指定图空间的内置角色权限授予用户。当前仅God角色用户和Admin角色用户能够执行GRANT ROLE
语句。角色权限的说明,请参见内置角色权限。
语法
GRANT ROLE <role_type> ON <space_name> TO <user_name>;
示例
nebula> GRANT ROLE USER ON basketballplayer TO user1;
撤销用户权限(REVOKE ROLE
)
执行REVOKE ROLE
语句可以撤销用户的指定图空间的内置角色权限。当前仅God角色用户和Admin角色用户能够执行REVOKE ROLE
语句。角色权限的说明,请参见内置角色权限。
语法
REVOKE ROLE <role_type> ON <space_name> FROM <user_name>;
示例
nebula> REVOKE ROLE USER ON basketballplayer FROM user1;
查看用户权限(SHOW ROLES
)
执行SHOW ROLES
语句可以显示分配给用户的角色信息。
语法
SHOW ROLES IN <space_name>;
示例
nebula> SHOW ROLES IN basketballplayer;
+---------+-----------+
| Account | Role Type |
+---------+-----------+
| "user1" | "ADMIN" |
+---------+-----------+
修改用户密码(CHANGE PASSWORD
)
执行CHANGE PASSWORD
语句可以修改用户密码,修改时需要提供旧密码和新密码。
语法
CHANGE PASSWORD <user_name> FROM '<old_password>' TO '<new_password>';
示例
nebula> CHANGE PASSWORD user1 FROM 'nebula' TO 'nebula123';
修改用户密码(ALTER USER
)
执行ALTER USER
语句可以修改用户密码,修改时不需要提供旧密码。当前仅God角色用户(即root
用户)能够执行ALTER USER
语句。
语法
ALTER USER <user_name> WITH PASSWORD '<password>';
示例
nebula> ALTER USER user1 WITH PASSWORD 'nebula';
删除用户(DROP USER
)
执行DROP USER
语句可以删除用户。当前仅God角色用户能够执行DROP USER
语句。
Note
删除用户不会自动断开该用户当前会话,而且权限仍在当前会话中生效。
语法
DROP USER [IF EXISTS] <user_name>;
示例
nebula> DROP USER user1;
查看用户列表(SHOW USERS
)
执行SHOW USERS
语句可以查看用户列表。当前仅God角色用户能够执行SHOW USERS
语句。
语法
SHOW USERS;
示例
nebula> SHOW USERS;
+-----------+
| Account |
+-----------+
| "test1" |
+-----------+
| "test2" |
+-----------+
| "test3" |
+-----------+
最后更新: August 26, 2021