跳转至

用户管理

用户管理是 Nebula Graph 访问控制中不可或缺的组成部分,本文将介绍用户管理的相关语法。

开启身份验证后,用户需要使用已创建的用户才能连接 Nebula Graph,而且连接后可以进行的操作也取决于该用户拥有的角色权限

Note

  • 默认情况下,身份验证功能是关闭的,用户可以使用 root 用户名和任意密码连接到 Nebula Graph。
  • 修改权限后,对应的用户需要重新登录才能生效。

创建用户(CREATE USER

执行CREATE USER语句可以创建新的 Nebula Graph 用户。当前仅 God 角色用户(即root用户)能够执行CREATE USER语句。

  • 语法

    ngql CREATE USER [IF NOT EXISTS] <user_name> [WITH PASSWORD '<password>'];

  • 示例

    ngql nebula> CREATE USER user1 WITH PASSWORD 'nebula';

授权用户(GRANT ROLE

执行GRANT ROLE语句可以将指定图空间的内置角色权限授予用户。当前仅 God 角色用户和 Admin 角色用户能够执行GRANT ROLE语句。角色权限的说明,请参见内置角色权限

  • 语法

    ngql GRANT ROLE <role_type> ON <space_name> TO <user_name>;

  • 示例

    ngql nebula> GRANT ROLE USER ON basketballplayer TO user1;

撤销用户权限(REVOKE ROLE

执行REVOKE ROLE语句可以撤销用户的指定图空间的内置角色权限。当前仅 God 角色用户和 Admin 角色用户能够执行REVOKE ROLE语句。角色权限的说明,请参见内置角色权限

  • 语法

    ngql REVOKE ROLE <role_type> ON <space_name> FROM <user_name>;

  • 示例

    ngql nebula> REVOKE ROLE USER ON basketballplayer FROM user1;

查看指定用户权限(DESCRIBE USER

执行DESCRIBE USER语句可以查看指定用户的角色权限信息。

  • 语法

    ngql DESCRIBE USER <user_name>; DESC USER <user_name>;

  • 示例

    ngql nebula> DESCRIBE USER user1; +---------+--------------------+ | role | space | +---------+--------------------+ | "ADMIN" | "basketballplayer" | +---------+--------------------+

查看指定空间内用户权限(SHOW ROLES

执行SHOW ROLES语句可以查看指定空间内的所有用户(除root以外)和对应角色权限的信息。

  • 语法

    ngql SHOW ROLES IN <space_name>;

  • 示例

    ngql nebula> SHOW ROLES IN basketballplayer; +---------+-----------+ | Account | Role Type | +---------+-----------+ | "user1" | "ADMIN" | +---------+-----------+

修改用户密码(CHANGE PASSWORD

执行CHANGE PASSWORD语句可以修改用户密码,修改时需要提供旧密码和新密码。

  • 语法

    ngql CHANGE PASSWORD <user_name> FROM '<old_password>' TO '<new_password>';

  • 示例

    ngql nebula> CHANGE PASSWORD user1 FROM 'nebula' TO 'nebula123';

修改用户密码(ALTER USER

执行ALTER USER语句可以修改用户密码,修改时不需要提供旧密码。当前仅 God 角色用户(即root用户)能够执行ALTER USER语句。

  • 语法

    ngql ALTER USER <user_name> WITH PASSWORD '<password>';

  • 示例

    ngql nebula> ALTER USER user1 WITH PASSWORD 'nebula';

删除用户(DROP USER

执行DROP USER语句可以删除用户。当前仅 God 角色用户能够执行DROP USER语句。

Note

删除用户不会自动断开该用户当前会话,而且权限仍在当前会话中生效。

  • 语法

    ngql DROP USER [IF EXISTS] <user_name>;

  • 示例

    ngql nebula> DROP USER user1;

查看用户列表(SHOW USERS

执行SHOW USERS语句可以查看用户列表。当前仅 God 角色用户能够执行SHOW USERS语句。

  • 语法

    ngql SHOW USERS;

  • 示例

    ngql nebula> SHOW USERS; +-----------+ | Account | +-----------+ | "test1" | | "test2" | | "test3" | +-----------+


最后更新: 2026年8月17日