Skip to main content

用户 User

在 ArcGraph 图数据库中,用户需要提供正确的用户名和密码来登录系统,并且登录后的操作将受到其所拥有的角色和权限限制。 系统默认创建一个超级管理员用户“ARCGRAPH”,该用户拥有“ADMIN”角色,具备对系统所有资源的所有操作权限,以执行各种管理任务。

前提条件

在开始操作前,请确保当前登录用户拥有执行此操作所需权限的角色。有关权限的详细说明,详情请参见 权限 章节。

创建用户

支持使用 CREATE USER 语句创建新用户。请注意,自 ArcGraph v2.1.1 版本起,在创建新用户时系统自动为该用户生成一个与之对应的默认角色(命名为 _DEFAULT_ROLE_<USER_NAME>,初始权限为空),并自动将这个角色绑定至该用户,详情请参见 角色 章节。

语法

CREATE USER <user_name> SET PASSWORD '<password>';

详细说明

参数说明
<user_name>设置用户的名称,命名大小写不敏感,小写字母将自动转换为大写显示,例如“user1”和“USER1”代表同一用户。用户名命名规则详情请参见 命名规则 章节。
<password>设置用户的密码。

示例
登录系统后,创建用户名为“user1”,密码为“123456”的用户,命令如下:

CREATE USER user1 SET PASSWORD "123456";

修改用户密码

在 ArcGraph 图数据库中,用户通过提供正确的用户名和密码来访问系统。为提高图数据库的安全性,建议定期更换密码,并设置复杂度较高的新密码,密码复杂度要求详情请参见 密码复杂度校验 章节。
用户修改密码后,当前已登录的会话不会中断或退出。新密码仅对后续新建会话或登录请求生效。

语法

ALTER USER <user_name> SET PASSWORD "<newpassword>";

详细说明

参数说明
<user_name>用于指定将要修改密码的用户的名称。请确保指定正确的用户名,以便将操作应用于正确的对象上。
说明:
命名大小写不敏感,小写字母将自动转换为大写显示,例如“user1”和“USER1”代表同一用户。
<newpassword>修改后的新密码。

示例
登录系统后,将“user1”用户的密码修改为“Abcdef2”,命令如下:

ALTER USER user1 SET PASSWORD "Abcdef2";

修改普通用户密码

  • 修改密码
    普通用户可以使用自己的用户名和密码登录系统后,执行 ALTER USER 语句来修改密码。

  • 忘记密码
    若普通用户忘记了登录密码,需要联系超级管理员用户来重置密码。超级管理员登录系统后,可执行 ALTER USER 语句来修改该用户的密码。

修改超级用户密码

ArcGraph 的超级管理员用户(如 arcgraph)初始密码为“arcgraph”,为保证系统安全,在集群部署完毕后,请务必修改此初始密码。

  • 修改密码
    超级管理员用户可以使用自己的用户名和密码登录系统后,执行 ALTER USER 语句来修改密码。支持本地或远程登录执行此操作。

  • 忘记密码
    若超级管理员用户忘记了登录密码,需通过本地地址(127.0.0.1:xxxlocalhost)并设置 --no-auth 参数(或在 client_config.toml 中设置 no_auth=true),以无密码的方式登录系统。成功登录后,执行 ALTER USER 语句来设置新密码。
    说明:

    • 请确保客户端支持 --no-auth 参数。
    • 修改密码完成后,请立即撤销无验证访问权限以保障系统安全。

请注意,仅 ArcGraph >= v2.1.1 版本支持此功能。

分配/移除角色

为用户分配角色

语法

GRANT ROLE <role_name> TO <user_name>;

详细说明
为用户 user_name 分配角色 role_name

示例

GRANT ROLE role1 TO user1;

为用户移除角色

语法

REVOKE ROLE <role_name> FROM <user_name>;

详细说明
从用户 user_name 上移除角色 role_name

示例

REVOKE ROLE role1 FROM user1;

查看用户

在 ArcGraph 图数据库中支持使用 SHOW USERS 及相关语句查看用户相关信息,详情请参见 SHOW USERS 章节。

删除用户

使用 DROP USER 语句删除用户时,系统将自动同步删除与其绑定的默认角色。而该用户所拥有的其他非默认角色将保持原状,不会受到此次删除操作的影响,它们将继续存在于系统中。用户一旦删除将无法恢复,因此请谨慎操作。建议在删除用户之前,提前清理其创建的图资源,以免遗留不必要的数据。

语法

DROP USER <user_name>;

详细说明

参数说明
<user_name>用于指定将要删除的用户的名称。请确保指定正确的用户名,以便将操作应用于正确的对象上。
说明:
命名大小写不敏感,小写字母将自动转换为大写显示,例如“user1”和“USER1”代表同一用户。

示例
删除用户“user1”,命令如下:

DROP USER user1;