图数据库的安全性--GES对图细粒度权限控制的支持
什么是图的细粒度权限
图数据库的使用越来越广泛,图数据库的安全问题和权限控制问题越来越受到大家的关注。
例如,应用图数据库管理公司的职员,HR部门有这样的一张员工图谱:
而财务部门的员工图谱是这样的,
我们发现,他们都有员工的一些基本信息,比如员工的岗位、所属部门等信息,但是也有一些只属于本部门的私密信息,比如HR部门有员工的绩效、职级等信息,财务部门有员工的账户、转账关系等信息。为方便管理,公司希望构建一整张图谱来管理公司的员工。
但是在实际使用中,公司希望能保障数据的私密性,比如只有HR部门才能看到员工的绩效、职级等信息,只有财务部门才能看到员工的账户、转账等信息,也就是希望能基于各部门的角色对他们进行图谱的访问限制,这就需要对图谱进行细粒度权限的控制。
功能描述
GES 对图实例提供了细粒度权限控制,可对特定label、甚至特定属性设置遍历、读、写权限。
权限 |
操作对象 |
描述 |
traverse |
label |
对点:可以访问点的外部id和label 对边:对其两个端点同时有traverse权限,可以访问边的id和label |
read |
property |
可以对特定label的部分或全部属性设置读权限,必须先具有traverse权限 |
write |
property |
可以对特定label的部分或全部属性设置写权限,必须先具有traverse权限 |
schema |
graph |
元数据管理(修改属性名、清空schema、导入schema等) |
在上述示例中,如果对HR配置label为person的点traverse权限和该label下的所有属性的read权限,那么他可以看到员工的所有信息:
"id": "张三",
"label": "person",
"properties": {
"岗位": [
"高级研发工程师"
],
"绩效": [
"A"
]
}
当对财务配置label为person的点traverse权限和该label下除“绩效”之外的所有属性的read权限,那么他就看不到员工的绩效信息:
"id": "张三",
"label": "person",
"properties": {
"岗位": [
"高级研发工程师"
]
}
可以看到,图细粒度权限实现了对图数据的精细化管理,保障了数据的私密性和安全性。
GES对图细粒度权限控制的支持
GES完全支持对图示例进行细粒度权限控制,且提供可视化的权限管理界面,已经服务于安平、电力等客户,客户可以参考 图细粒度权限控制界面了解GES图细粒度权限控制的配置和使用。
- 点赞
- 收藏
- 关注作者
评论(0)