数据安全
简介
ArcGraph 支持数据脱敏功能,数据脱敏功能是一项重要的安全特性,它可以通过对敏感数据的脱敏处理来保护数据的安全性和隐私。
数据脱敏是一种保护敏感数据的技术手段,可以提高数据的安全性、保护隐私、满足合规要求、提高数据处理效率以及实现数据共享。ArcGraph 通过合理的数据脱敏策略和技术手段,对图数据库中的敏感数据进行有效管理和保护,确保图数据库的安全性和可用性。同时,ArcGraph 的数据脱敏是基于角色的访问控制(RBAC)进行设计与实现,使得数据脱敏功能更加灵活和高效,可以更好地满足实际应用场景的需求。
实现策略
默认情况下,所有用户是可以看到敏感数据,若要使用数据脱 敏功能,您需要:
- 定义需要脱敏的数据:通过在点类型、边类型上增加
MASKED
标识,系统将对带有该标识的数据进行脱敏处理。 - 定义访问受限的角色:为角色设置
Masked
。拥有此角色的用户在查询已标记为MASKED
的数据时,系统将返回经过脱敏处理后的数据。
角色权限配置
本章节主要介绍如何为角色赋予或撤销 MASKED
权限的操作。MASKED
脱敏权限,仅拥有此权限的角色能够访问经过脱敏处理的图数据且无法获取数据的真实值。更多关于权限的操作,详情请参见 权限 章节。
前提条件
在开始操作前,请确保当前登录用户拥有执行此操作所需权限的角色。有关权限的详细说明,详情请参见 权限 章节。
赋予权限
为角色赋予 MASKED
权限。
语法
GRANT MASKED ON GRAPH <graph_name> TO <roleName>;
详细说明
<graph_name>
:图名称。<roleName>
:角色名称,该角色存在于<graph_name>
图中。
示例
给“rolea”角色赋予 MASKED
权限。
GRANT MASKED TO rolea;
撤销权限
为角色撤销 MASKED
权限。
REVOKE MASKED ON GRAPH <graph_name> FROM <roleName>;
详细说明
<graph_name>
:图名称。<roleName>
:角色名称,该角色存在于<graph_name>
图中。
示例
给“rolea”角色撤销 MASKED
标记。
REVOKE MASKED FROM rolea;
点类型脱敏
通过对点类型的属性增加 MASKED
标记以达到对点数据进行数据脱敏的效果,支 持使用 Partial()
函数对数据进行部分脱敏,详情请参见 Partial 函数 章节。
本章节主要介绍为点类型 MASKED
标记的相关操作,点类型的更多操作介绍请参见 点类型 章节。
前提条件
在开始操作前,请确保当前登录用户拥有执行此操作所需权限的角色。有关权限的详细说明,详情请参见 权限 章节。
增加 MASKED
标记
创建包含 MASKED
标记的点类型,语法及详细说明请参见 创建点类型 章节。
示例
创建一个“person”点类型,并对 name
属性的数据全部脱敏。
CREATE VERTEX person(
primary key id int(64),
name string MASKED
);
修改 MASKED
标记
修改 MASKED
标记的点类型。
示例
修改 “person”点类型,并对 name
属性由全部脱敏修改为中间部分字符脱敏。
ALTER VERTEX person
MODIFY name string MASKED with (function=Partial(3,"XXX",4));
删除 MASKED
标记
在修改属性时删除对应的 MASKED
标记。
示例
移除“person”点类型中针对 name
属性的脱敏操作。
ALTER VERTEX person MODIFY name string;
边类型脱敏
通过对边类型的属性增加 MASKED
标记以达到对边数据进行数据脱敏的效果,支持使用 Partial()
函数对数据进行部分脱敏,详情请参见 Partial 函数 章节。
本章节主要介绍为边类型进行 MASKED
操作的语法,更多操作介绍请参见 边类型 章节。
前提条件
在开始操作前,请确保当前登录用户拥有执行此操作所需权限的角色。有关权限的详细说明,详情请参见 权限 章节。
增加 MASKED
标记
创建包含 MASKED
标记的边类型,语法及详细说明请参见 创建边类型 章节。
示例
在“person”点类型间创建一个“knows”边类型,并对其 weight
属性的数据全部脱敏。
CREATE EDGE knows (
weight int(64) MASKED,
FROM person TO person
)
COMMENT = '测试Edge';
修改 MASKED
标记
修改 MASKED
标记的边类型。
示例
修改 “knows”边类型,并对 weight
属性由全部脱敏修改为中间部分字符脱敏。
ALTER EDGE knows
MODIFY weight int(64) MASKED with (function=partial(3, "**",2));
删除 MASKED
标记
在修改属性时删除对应的 MASKED
标记。
示例
移除“knows”边类型中针对 weight
属性的脱敏操作。
ALTER EDGE knows MODIFY weight int(64);