用户权限
1.介绍
TuGraph 的权限是基于角色的访问控制进行管理,定义访问控制的权限分配给角色,角色再分配给用户。
2.权限层级
- Global 层:即全局权限,对管理、图操作均有权限;
- Graph 层:即图级别,对每个图的权限;
- (仅商业化版本支持)Property 层:即属性级别,对某个属性的权限控制
3.权限关键字
目前权限的控制较为简洁
- Global 层目前为 admin 权限,并且预置了 admin 用户;
- Graph 层的操作权限分为四种:none,read,write,full
- none:无权限,对于图没有任何操作权限
- read:只读权限,对于图只具备读取权限
- write:读写权限,对于图不仅具备读取权限,还具备了写入的权限
- full:所有权限,对于图不仅具备读写权限,同时也具备删除图、修改图、修改 Schema 等权限
- (仅商业化版本支持)Property 层的权限分别为:none,read,write
- none:无权限,对于该属性没有任何操作权限
- read:只读权限,对于该属性只具备读取权限
- write:读写权限,对于该属性不仅具备读取权限,还具备了写入的权限
4.常用权限操作
4.1.用户操作
- 创建用户
CALL dbms.security.createUser(user_name::STRING,password::STRING)
- 删除用户
CALL dbms.security.deleteUser(user_name::STRING)
- 修改当前用户密码
CALL dbms.security.changePassword(current_password::STRING,new_password::STRING)
- 修改指定用户密码
CALL dbms.security.changeUserPassword(user_name::STRING,new_password::STRING)
- 禁用/启用用户
CALL dbms.security.disableUser(user::STRING,disable::BOOLEAN)
- 列出所有用户
CALL dbms.security.listUsers()
- 列出当前用户信息
CALL dbms.security.showCurrentUser()
- 获取用户详情
CALL dbms.security.getUserInfo(user::STRING)
4.2.角色操作
- 创建角色
CALL dbms.security.createRole(role_name::STRING,desc::STRING)
- 删除角色
CALL dbms.security.deleteRole(role_name::STRING
- 列出所有角色
CALL dbms.security.listRoles()
- 禁用/启用角色
CALL dbms.security.disableRole(role::STRING,disable::BOOLEAN)