角色与权限说明
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 | |