跳到主要内容
版本:Canary 🚧

数据脱敏

数据脱敏功能是 APIPark 安全特性的一个重要组成部分,在 API 响应中实现了自动将敏感信息进行替换或隐藏,确保数据传输过程中客户数据、财务数据、知识产权、员工信息... 等等企业的核心信息不被泄露。

数据脱敏功能不仅帮助企业满足数据保护法规的要求,同时也能增强了用户对企业数据管理能力的信任。APIPark 数据脱敏策略为企业提供一个安全、合规且高效的 API 开放生态。@崔嘉杰

APIPark 的数据脱敏策略分为两个层级:全局策略和服务级策略。

1. 全局脱敏策略

进入 系统设置 模块,在侧边栏选择 全局策略,然后选择 数据脱敏。

1.1 添加策略

点击列表右上角的【添加策略】按钮,即可进入添加策略页面。

  • 策略名称:策略名称,必填项,用于简洁说明该策略是什么。
  • 策略类型:当前仅可选择数据脱敏,后续会增加更多策略类型。
  • 优先级:用于判断多个策略间的执行优先级,数字越小优先级越高。仅支持正整数,最小为1。
  • 描述:当前策略的详细介绍,例如制定该策略的背景和目标等。
  • 匹配条件:可通过多个维度选中匹配当前规则的API,支持多个匹配条件。非必填,默认不填则代表匹配所有的API。
  • 数据脱敏规则:制定需要脱敏的参数值和脱敏方式。必填项,支持添加多种脱敏规则。

1.2 添加匹配条件

  • 在全局脱敏策略中,添加匹配条件时,有以下可选属性和属性值
属性名可选属性值
API 请求方式ALL/GET/POST/PUT/DELETE/PATCH/HEADER/OPTIONS
API 路径通过正则表达式填写需要命中的 API 路径
IP可输入 IP 地址或 CIDR 范围,每条以换行分割
消费者可从消费者列表中进行选择,支持多选
  • 当添加多条匹配条件时,最终匹配的API是符合多个匹配条件的并集。

1.3 添加脱敏规则

添加脱敏规则的时候,需要分两步,第一步是设置好需要对哪些数据进行脱敏,第二步是设置这些数据如何脱敏。

所以需要分别设置数据匹配规则和脱敏规则。

  • 数据匹配规则支持以下可选属性和属性值
匹配类型可选项备注
数据格式姓名、手机号、身份证号、银行卡号、日期、金额可选项是已内置的数据规则,系统会自动识别所有 value 进行匹配
关键字可输入需要脱敏的key或value的关键词对 key 和 value 都会进行模糊匹配
正则表达式可输入需要脱敏的参数名的正则表达式对 key 和 value 都会进行正则匹配
JsonPath可输入 JsonPath 表达式对key进行匹配
  • 脱敏规则支持以下选项
脱敏类型具体配置
局部显示可选择从第几位数据开始,显示多少位数据
局部遮蔽可选择从第几位数据开始,遮蔽多少位数据
截取可选择从第几位数据开始,截取多少位数据
替换可选择用随机字符串替换或者指定替换为特定字符串

1.4 发布全局策略

策略创建成功后,需要对策略进行发布,才会正式生效。

  • 对于全局策略,点击策略列表右上角的【发布】按钮,将会弹出确认弹窗,弹窗中会显示本次发布版本的变更内容。点击【确认】后即可发布成功。
  • 策略有三种状态:
    • 未发布:新创建的策略未发布前会显示为“未发布”状态
    • 已发布:策略发布后,会显示为“已上线”状态
    • 待更新:策略发布后,编辑策略使得策略配置有变更,此时变更内容并不会马上生效,需要再次发布。这时候会显示该策略“待更新”状态

2. 服务级脱敏策略

进入 工作空间 模块,在侧边栏选择 服务,然后选择某个服务详情中二级菜单的 服务策略,选择 数据脱敏。

2.1 添加策略

点击列表右上角的【添加策略】按钮,即可进入添加策略页面。

  • 策略名称:策略名称,必填项,用于简洁说明该策略是什么。
  • 策略类型:当前仅可选择数据脱敏,后续会增加更多策略类型。
  • 优先级:用于判断多个策略间的执行优先级,数字越小优先级越高。仅支持正整数,最小为1。
  • 描述:当前策略的详细介绍,例如制定该策略的背景和目标等。
  • 匹配条件:可通过多个维度选中匹配当前规则的API,支持多个匹配条件。非必填,默认不填则代表匹配所有的API。
  • 数据脱敏规则:制定需要脱敏的参数值和脱敏方式。必填项,支持添加多种脱敏规则。

2.2 添加匹配条件

  • 在服务级脱敏策略中,添加匹配条件时,有以下可选属性和属性值
  • 注意,相对于全局脱敏策略,服务级脱敏策略中增加提供API列表选项
属性名可选属性值
API请求方式ALL/GET/POST/PUT/DELETE/PATCH/HEADER/OPTIONS
API路径通过正则表达式填写需要命中的API路径
IP可输入IP地址或CIDR范围,每条以换行分割
消费者可从当前服务的消费者列表中进行选择,支持多选
API可从当前服务的API列表中进行选择,支持多选
  • 当添加多条匹配条件时,最终匹配的API是符合多个匹配条件的并集。

2.3 添加脱敏规则

添加脱敏规则的时候,需要分两步,第一步是设置好需要对哪些数据进行脱敏,第二步是设置这些数据如何脱敏。

所以需要分别设置数据匹配规则和脱敏规则。

  • 数据匹配规则支持以下可选属性和属性值
匹配类型可选项备注
数据格式姓名、手机号、身份证号、银行卡号、日期、金额可选项是已内置的数据规则,系统会自动识别所有value进行匹配
关键字可输入需要脱敏的key或value的关键词对key和value都会进行模糊匹配
正则表达式可输入需要脱敏的参数名的正则表达式对key和value都会进行正则匹配
JsonPath可输入JsonPath表达式对key进行匹配
  • 脱敏规则支持以下选项
脱敏类型具体配置
局部显示可选择从第几位数据开始,显示多少位数据
局部遮蔽可选择从第几位数据开始,遮蔽多少位数据
截取可选择从第几位数据开始,截取多少位数据
替换可选择用随机字符串替换或者指定替换为特定字符串

2.4 发布服务级策略

策略创建成功后,需要对策略进行发布,才会正式生效。

  • 对于服务级策略,在服务详情内二级菜单的发布菜单,点击发布列表右上角的【发布】按钮。将会弹出确认弹窗,弹窗中会显示本次发布版本的变更内容。点击【确认】后即可发布成功。

  • 策略有三种状态:
    • 未发布:新创建的策略未发布前会显示为“未发布”状态
    • 已发布:策略发布后,会显示为“已上线”状态
    • 待更新:策略发布后,编辑策略使得策略配置有变更,此时变更内容并不会马上生效,需要再次发布。这时候会显示该策略“待更新”状态

3. 策略优先级

同一个对象命中多个策略时,会存在执行优先级的问题,主要逻辑如下:

  • 服务级策略优先于全局策略
  • 同一个层级策略中,优先级数字越小,优先级越高
  • 多条策略命中同一个对象时,仅执行优先级最高的策略

4. 处理日志

策略处理日志可以查看到当前策略对目标对象的处理情况,如数据脱敏策略的处理日志,可以看到需要脱敏的API入参或出参的原参数值和脱敏后的参数值情况对比。

  • 在策略列表中,每一条已发布的侧栏右侧均有处理日志查看的操作按钮,点击该按钮后会弹出处理日志弹窗。
  • 在处理日志弹窗中,支持对关键字段进行搜索策略日志条目。也支持通过时间段来筛选日志条目。