README_zh.md
1# DLP权限管理部件
2
3## 简介
4
5数据防泄漏(DLP: data_leak_prevention)是通过一系列安全保护技术,实现文档的权限管理功能,保证权限文档的安全性。终端用户给指定文件添加权限保护,给指定终端用户添加只读编辑权限。添加完成后,DLP权限管理部件生成权限保护文件(DLP文件)。权限保护设置完成后,权限保护文件只有指定的终端用户可以打开。
6
7## 架构图
8
9**图 1** DLP权限管理部件架构图
10
11![](figures/zh-cn_image_dlp_struct_new.png)
12
13### DLPM应用:
14作为DLP模块的入口应用,提供对原始文件添加权限保护,修改DLP文件权限配置,以及取消DLP文件权限的功能。对原始文件进行加密存储,支持基于账号的访问控制,只有经过授权的终端用户才可以通过系统能力进行访问解密。
15
16### SDK:
17向三方应用开发者提供DLP模块的拓展能力,例如获取DLP文件访问记录,DLP沙箱应用保留配置等,优化三方应用在DLP场景的使用体验。
18
19### 主要流程说明:
20- 生成DLP文件 :
21 三方应用通过调用startAbility拉起DLP权限应用部件,DLP权限应用部件通过SDK调用DLP权限管理部件,通过证书管理模块和加密读写模块生成对于的DLP文件。
22- 打开DLP文件 :
23 三方应用通过调用startAbility拉起DLP权限应用部件,DLP权限应用部件通过SDK调用DLP权限管理部件,通过证书管理模块,加密读写模块,沙箱管理模块拉起沙箱应用对DLP文件进行解密。
24- 修改、删除DLP文件权限 :
25 三方应用通过调用startAbility拉起DLP权限应用部件,DLP权限应用部件通过SDK调用DLP权限管理部件,通过证书管理模块和加密读写模块对DLP文件的权限进行修改,或者删除解密生成未加密文件。
26- 获取DLP文件访问记录 :
27 三方应用通过SDK调用DLP权限管理部件,通过访问记录模块获取本应用对于DLP文件的访问记录信息。
28
29## 目录
30
31```
32/base/security/dlp_permission_service
33├── figures # README图片存放目录
34├── frameworks # 框架层,基础功能代码存放目录
35│ ├── access_config # 访问权限配置存放目录
36│ ├── common # 框架公共代码存放目录
37│ ├── dlp_permission # DLP权限管理框架代码存放目录
38│ └── test # 框架层测试代码存放目录
39├── interfaces # 接口层
40│ ├── inner_api # 内部接口层
41│ │ ├── dlp_fuse # link文件及用户态文件系统实现代码存放目录
42│ │ ├── dlp_parse # dlp文件代码存放目录
43│ │ └── dlp_permission # DLP权限管理内部接口代码存放目录
44│ └── kits # 外部接口层
45│ ├── dlp_permission # DLP权限管理外部接口代码存放目录
46│ └── napi_common # 外部接口公共代码存放目录
47├── services # 服务层
48│ └── dlp_permission # 服务层代码存放目录
49│ └── sa # 服务层代码存放目录
50│ ├── adapt # 数据适配相关代码存放目录
51│ ├── callback # 监听回调代码存放目录
52│ ├── etc # 配置文件存放目录
53│ ├── sa_common # 服务层公共代码存放目录
54│ ├── sa_main # DLP权限管理服务代码存放目录
55│ ├── sa_profile # DLP权限管理SA配置文件定义存放目录
56│ └── test # 服务层单元测试代码存放目录
57└── test # 模糊测试代码存放目录
58```
59
60## 部件独立编译命令
61
62./build.sh --product-name rk3568 --build-target dlp_permission_build_module --ccache
63
64## 使用说明
65
66**使用指导**
67
68## 相关仓
69
70安全子系统
71
72DLP权限管理部件
73
74**security\_dlp\_permission\_service**
75
76