应用示例
本示例主要介绍数据脱敏功能的操作方法。在其他环境中进行数据脱敏的操作方法可能会略有不同。因此,在实际操作过程中,请根据您所处的具体环境和技术栈进行相应的调整和适配。
前提条件
在开始操作前,请确保当前登录用户拥有执行此操作所需权限的角色。有关权限的详细说明,详情请参见 权限 章节。
示例
- 登录 ArcGraph。
- (可选)创建用户并赋予对应角色。
- 创建用户“user1”。
CREATE USER user1 SET PASSWORD "123456";
- 创建角色“rolea”。
CREATE ROLE rolea;
- 赋予角色
ALL
权限。GRANT all on graph all to rolea;
- 赋予角色
MASKED
权限。GRANT MASKED TO rolea;
- 为用户关联角色“rolea”。
GRANT ROLE rolea TO user1;
- (可选)退出当前用户并以“user1”用户登录。
- 创建用户“user1”。
- 创建图“datamaskdemo”。
CREATE GRAPH datamaskdemo;
- 使用图“datamaskdemo”。
USE GRAPH datamaskdemo;
- 创建点类型“person”,并对“name”属性除前 3 个字符和最后 4 个字符外的中间字符使用“XXX”符号脱敏。
CREATE VERTEX person(
primary key id int(64),
name string MASKED with (function=partial(3,"XXX",4)),
salary double MASKED
); - 创建边类型“knows”,并对“comment”属性除前 3 个字符和最后 2 个字符外的中间字符使用“**”符号脱敏。
CREATE EDGE knows(
weight int(64) MASKED,
comment string MASKED with (function=partial(3, "**",2)),
FROM person TO person)
; - 插入点数据及边数据。
INSERT (:person{id:1,name:"secret_name1",salary:10000.00});
INSERT (:person{id:2,name:"secret_name2",salary:20000.00});
INSERT (:person{id:1})-[:knows{weight:300,comment:"secret comment contents"}]->(:person{id:2}); - 查询数据。
- 查询当前图中所有点。
示例返回结果示例如下:MATCH (n) RETURN n;
+---------------------------------------------------------------------------------------------------------+
| n |
+=========================================================================================================+
| vid: [_oid: 36990979393191936, label: person], properties: [36990979393191936, 1, secXXXame1, ********] |
+---------------------------------------------------------------------------------------------------------+
| vid: [_oid: 36990979393191937, label: person], properties: [36990979393191937, 2, secXXXame2, ********] |
+---------------------------------------------------------------------------------------------------------+ - 查询当前图中两点类型间所有边数据。
示例返回结果示例如下:MATCH (a:person)-[e:knows]->(b:person) RETURN e;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| e |
+=============================================================================================================================================================+
| eid: [src: [_oid: 36990979393191936, label: person], dest: [_oid: 36990979393191937, label: person], label: knows, _ts: 0], properties: [********, sec**ts] |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
- 查询当前图中所有点。