角色与权限说明
eZooDB基于用户和角色来管理图数据库的资源,资源包括数据的读写访问、图的管理、集群的管理等。使用用户名和密码进行认证,对于可访问的资源通过赋予用户不同的角色来实现。
无角色的用户无权访问任何资源(部分接口除外)。
角色往往是通过业务资源隔离的需求演变而来。通过内置的角色能满足绝大部分的需求,目前内置7种角色:read、readwrite、graphadmin、graphowner、monitor、admin、root。
权限是访问资源的最小单位,通过一个角色可以包括多种权限。 为简化操作,eZooDB对外的API与权限一一对应,即不同的角色定义了是否有访问特定接口的权限。
使用eZooDB的认证和授权功能需开启相关功能。相关配置如下:
详细配置项及要求见:配置项说明
默认账户
eZooDB初始默认账户名为root,角色为root,对所有库都有最高访问权限,因此强烈建议用户在初始化安装数据库后,更改root账户密码。接口详见权限管理接口。
默认角色权限
root
操作 | 权限 | 备注 |
读接口 | √ | |
写接口 | √ | |
图管理接口 | √ | |
高级用户管理接口 | √ | |
普通用户操作接口 | √ | |
图监控接口 | √ | |
drop | √ | 针对全库有效 |
get_status | √ | 针对全库有效 |
admin
操作 | 权限 | 备注 |
读接口 | √ | |
写接口 | √ | |
图管理接口 | √ | |
高级用户管理接口 | √ | |
普通用户操作接口 | √ | |
图监控接口 | √ | |
drop | × | |
get_status | √ | 针对全库有效 |
Monitor
操作 | 权限 | 备注 |
读接口 | × | |
写接口 | × | |
图管理接口 | × | |
高级用户管理接口 | × | |
普通用户操作接口 | √ | |
图监控接口 | √ | 针对全库有效 |
drop | × | |
get_status | √ | 针对全库有效 |
read
操作 | 权限 | 备注 |
读接口 | √ | 仅对绑定的db_name有效 |
写接口 | × | |
图管理接口 | × | |
高级用户管理接口 | × | |
普通用户操作接口 | √ | |
图监控接口 | × | |
drop | × | |
get_status | √ | 仅对绑定的db_name有效 |
readwrite
操作 | 权限 | 备注 |
读接口 | √ | 仅对绑定的db_name有效 |
写接口 | √ | 仅对绑定的db_name有效 |
图管理接口 | × | |
高级用户管理接口 | × | |
普通用户操作接口 | √ | |
图监控接口 | × | |
drop | × | |
get_status | √ | 仅对绑定的db_name有效 |
graphadmin
操作 | 权限 | 备注 |
读接口 | × | |
写接口 | × | |
图管理接口 | √ | 仅对绑定的db_name有效 |
高级用户管理接口 | √ | 仅对绑定的db_name有效 |
普通用户操作接口 | √ | |
图监控接口 | × | |
drop | × | |
get_status | √ | 仅对绑定的db_name有效 |
graphowner
操作 | 权限 | 备注 |
读接口 | √ | 仅对绑定的db_name有效 |
写接口 | √ | 仅对绑定的db_name有效 |
图管理接口 | √ | 仅对绑定的db_name有效 |
高级用户管理接口 | √ | 仅对绑定的db_name有效 |
普通用户操作接口 | √ | |
图监控接口 | × | |
drop | √ | 仅对绑定的db_name有效 |
get_status | √ | 仅对绑定的db_name有效 |
读接口:
接口名 | 备注 |
query_neighbour_limit | |
query_common_neighbour | |
query_dijkstra | |
query_pagerank | |
query_shortest_path | |
query_betcentrality | |
query_clocentrality | |
query_louvain | |
query_one_neighbour | |
query_neighbour | |
query_simple_neighbour | |
query_neighbour_count | |
query_neighbour_path | |
query_subgraph | |
query_path | |
query_simple_path | |
query_full_path | |
get_node | |
get_node_with_id | |
get_nodes_with_ids | |
get_graph_all_node_size | |
get_graph_node_size | |
get_edge | |
get_edge_with_basic_id | |
get_edges_with_basic_ids | |
get_all_edge | |
get_graph_all_edge_size | |
get_graph_edge_size | |
get_node_s_batch | |
get_basic_graph | |
写接口:
接口名 | 备注 |
add_node | |
remove_node | |
update_node | |
add_node_property | |
remove_node_property | |
add_edge | |
remove_edge | |
remove_all_edge | |
update_edge | |
add_edge_property | |
remove_edge_property | |
create_node_type | |
create_edge_type | |
drop_node_type | |
drop_edge_type | |
import_node_from_file | |
import_edge_from_file | |
update_graph_schema | |
图管理接口:
接口名 | 备注 |
create | |
create_graph | |
export_graph | |
open_graph | |
close_graph | |
高级用户管理接口:
接口名 | 备注 |
create_user | |
drop_user | |
reset_password | |
grant_roles | |
cancel_grant_roles | |
view_users | |
普通用户操作接口:
接口名 | 备注 |
auth | |
change_password | |
view_roles | |
图监控接口:
接口名 | 备注 |
get_graph_list | |
get_active_graph_list | |