概述
权限(Privilege)是访问控制的关键机制,可用来控制用户在图数据库上的操作权限。对查询、更新或管理数据库等特定操作设置访问限制,能够加强系统安全性。可将一组权限分配给角色(或策略),也可将权限直接分配给单个用户。
为了实现精细化权限控制,嬴图将权限划分为三个等级:系统权限,图权限和属性权限。
显示权限
获取数据库中所有已定义的图权限和系统权限:
show().privilege()
权限信息呈现在表格_privilege
中:
graphPrivileges | systemPrivileges |
---|---|
["READ","INSERT","UPSERT","UPDATE","DELETE","CREATE_SCHEMA","DROP_SCHEMA","ALTER_SCHEMA","SHOW_SCHEMA","RELOAD_SCHEMA","CREATE_PROPERTY","DROP_PROPERTY","ALTER_PROPERTY","SHOW_PROPERTY","CREATE_FULLTEXT","DROP_FULLTEXT","SHOW_FULLTEXT","CREATE_INDEX","DROP_INDEX","SHOW_INDEX","LTE","UFE","CLEAR_JOB","STOP_JOB","SHOW_JOB","ALGO","CREATE_PROJECT","SHOW_PROJECT","DROP_PROJECT","CREATE_HDC_GRAPH","SHOW_HDC_GRAPH","DROP_HDC_GRAPH","COMPACT_HDC_GRAPH","SHOW_VECTOR_INDEX","CREATE_VECTOR_INDEX","DROP_VECTOR_INDEX","SHOW_CONSTRAINT","CREATE_CONSTRAINT","DROP_CONSTRAINT"] | ["TRUNCATE","COMPACT","CREATE_GRAPH","SHOW_GRAPH","DROP_GRAPH","ALTER_GRAPH","TOP","KILL","STAT","SHOW_POLICY","CREATE_POLICY","DROP_POLICY","ALTER_POLICY","SHOW_USER","CREATE_USER","DROP_USER","ALTER_USER","SHOW_PRIVILEGE","SHOW_META","SHOW_SHARD","ADD_SHARD","DELETE_SHARD","REPLACE_SHARD","SHOW_HDC_SERVER","ADD_HDC_SERVER","DELETE_HDC_SERVER","LICENSE_UPDATE","LICENSE_DUMP","GRANT","REVOKE","SHOW_BACKUP","CREATE_BACKUP","SHOW_VECTOR_SERVER","ADD_VECTOR_SERVER","DELETE_VECTOR_SERVER"] |
系统权限
系统权限包括对图、进程、权限、策略、用户、服务器等数据库资源的管理操作。
嬴图支持以下系统属性:
权限 |
描述 |
---|---|
TRUNCATE |
清空数据库中的图 |
COMPACT |
压缩数据库中的图 |
CREATE_GRAPH |
在数据库中创建图 |
SHOW_GRAPH |
显示数据库中的图 |
DROP_GRAPH |
删除数据库中的图 |
ALTER_GRAPH |
修改数据库中的图 |
TOP |
显示数据库中的进程 |
KILL |
结束数据库中的进程 |
STAT |
显示数据库的统计信息 |
SHOW_POLICY |
显示数据库中的角色(策略) |
CREATE_POLICY |
在数据库中创建角色(策略) |
DROP_POLICY |
删除数据库中的角色(策略) |
ALTER_POLICY |
修改数据库中的角色(策略) |
SHOW_USER |
显示数据库中的用户 |
CREATE_USER |
在数据库中创建用户 |
DROP_USER |
删除数据库中的用户 |
ALTER_USER |
修改数据库中的用户 |
SHOW_PRIVILEGE |
显示数据库中的权限 |
GRANT |
授予权限和角色(策略) |
REVOKE |
撤销权限和角色(策略) |
SHOW_META |
显示数据库的Meta服务器信息 |
SHOW_SHARD |
显示数据库的Shard服务器信息 |
ADD_SHARD |
向数据库添加Shard服务器 |
REPLACE_SHARD |
修改Shard服务器的副本地址 |
DELETE_SHARD |
从数据库删除Shard服务器 |
SHOW_HDC_SERVER |
显示数据库的HDC服务器 |
ADD_HDC_SERVER |
向数据库添加HDC服务器 |
DELETE_HDC_SERVER |
从数据库删除HDC服务器 |
SHOW_VECTOR_SERVER |
显示数据库的向量服务器 |
ADD_VECTOR_SERVER |
向数据库添加向量服务器 |
DELETE_VECTOR_SERVER |
从数据库删除向量服务器 |
LICENSE_UPDATE |
更新数据库许可证 |
LICENSE_DUMP |
转存数据库许可证 |
SHOW_BACKUP |
显示数据库备份 |
CREATE_BACKUP |
为数据库创建备份 |
图权限
图权限用于管理与特定图相关的数据访问与结构变更操作,也包括对索引、作业以及HDC图等相关元素的管理权限。
嬴图支持以下图权限:
权限 |
描述 |
---|---|
READ |
读取图中数据 |
INSERT |
向图中插入点和边 |
UPSERT |
为图更新或插入点和边 |
UPDATE |
更新图中的点和边 |
DELETE |
删除图中的点和边 |
CREATE_SCHEMA |
在图中创建Schema |
DROP_SCHEMA |
删除图中的Schema |
ALTER_SCHEMA |
修改图中的Schema |
SHOW_SCHEMA |
显示图中的Schema |
RELOAD_SCHEMA |
重新加载图中点和边的总数 |
CREATE_PROPERTY |
在图中创建属性 |
DROP_PROPERTY |
删除图中的属性 |
ALTER_PROPERTY |
修改图中的属性 |
SHOW_PROPERTY |
显示图中的属性 |
CREATE_FULLTEXT |
在图中创建全文索引 |
DROP_FULLTEXT |
删除图中的全文索引 |
SHOW_FULLTEXT |
显示图中的全文索引 |
CREATE_VECTOR_INDEX |
在图中创建向量索引 |
DROP_VECTOR_INDEX |
删除图中的向量索引 |
SHOW_VECTOR_INDEX |
显示图中的向量索引 |
CREATE_INDEX |
在图中创建索引 |
DROP_INDEX |
删除图中的索引 |
SHOW_INDEX |
显示图中的索引 |
LTE |
将属性从磁盘加载到计算引擎 |
UFE |
将属性从计算引擎中卸载 |
CLEAR_JOB |
清除图中的作业 |
STOP_JOB |
结束图中的作业 |
SHOW_JOB |
显示图中的作业 |
ALGO |
在图上执行算法 |
CREATE_PROJECT |
为图创建分布式投影 |
SHOW_PROJECT |
显示图的分布式投影 |
DROP_PROJECT |
删除图的分布式投影 |
CREATE_HDC_GRAPH |
创建HDC图 |
SHOW_HDC_GRAPH |
显示HDC图 |
DROP_HDC_GRAPH |
删除HDC图 |
COMPACT_HDC_GRAPH |
压缩HDC图 |
属性权限
属性权限可以精细化控制图中具体属性的读写权限。若未显式配置,则默认对所有属性开放读写权限。
嬴图支持以下属性权限:
权限 |
描述 |
---|---|
READ |
授权读取图中指定属性 |
WRITE |
授权读取和写入图中指定属性 |
DENY |
拒绝读取或写入指定属性。如果针对某属性同时有DENY 和READ (或WRITE )权限,则DENY 权限优先生效 |
如果未获得对点user
的属性name
的READ
权限:
操作 |
示例 |
---|---|
返回属性信息 | MATCH (n:user) RETURN n 本条GQL查询返回的点信息中不包含 name 属性MATCH (n:user) RETURN n.name 本条GQL查询会报错,因为无权读取 name 属性 |
过滤属性 | MATCH (n:user {name: "johndoe"}) RETURN n 本条GQL查询会报错,因为无权读取 name 属性 |
导出 | 无法导出无权读取的属性 |
如果未获得对点user
的属性name
的WRITE
权限:
操作 |
示例 |
---|---|
插入 | INSERT (:user {_id: "U873", name:"johndoe"}) 本条GQL查询会报错,因为无权写入 name 属性 |
更新 | MATCH (n:user {_id: "U873"}) SET n.name = "johndoe" 本条GQL查询会报错,因为无权写入 name 属性 |
删除 | 即使未获得相应的属性权限WRITE ,只要拥有图权限DROP_PROPERTY ,仍可从图中删除属性 |