用户 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:xxx
或localhost
)并设置--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;