随着企业对数据安全与隐私合规要求的不断提升,敏感信息保护已经成为运维安全审计系统的核心能力之一。从v4.10.10 LTS版本开始,JumpServer企业版新增支持数据库资产数据脱敏功能。该功能旨在保障数据库访问过程中敏感数据(例如身份证号、手机号、银行卡号、密码等)以明文形式泄露,帮助企业遵从相关合规要求。
数据脱敏功能的推出标志着JumpServer在“安全、合规、可控”运维安全审计道路上迈出了关键一步,其功能性适用于金融、医疗、政务、教育等对数据隐私高度敏感的行业场景。
JumpServer的数据脱敏功能支持对MySQL、Oracle、PostgreSQL、SQL Server等主流数据库资产的查询结果进行实时动态脱敏。系统可以根据预设的脱敏策略,在用户执行“SELECT”查询时,自动对指定字段进行掩码处理(比如13*********),而原始数据仍安全地存储于数据库中,确保其“看不清、拿不走、可追溯”。
一、功能概述
JumpServer堡垒机支持对数据库资产进行数据脱敏,管理员可以通过该功能对数据库查询结果中的敏感字段进行动态掩码处理,从而实现敏感数据的最小化暴露原则,有效降低信息泄露的风险。JumpServer的数据脱敏功能具备以下核心能力:
■ 动态脱敏:查询结果实时脱敏,不影响数据库中存储的原始数据;
■ 按用户/角色控制:支持基于用户配置不同的数据脱敏策略,实现权限的精细化管理;
■ 字段级策略配置:可以针对特定字段设置脱敏规则,精准控制敏感信息的暴露范围;
■ 审计可追溯:所有脱敏操作均记录在操作审计日志中,便于后续审计与行为回溯。
二、数据脱敏技术原理
JumpServer的数据脱敏功能是基于SQL解析与重写引擎实现的,属于动态数据脱敏(Dynamic Data Masking)技术,其核心处理流程如下:
1. 用户通过Web终端或客户端发起数据库查询操作,例如“SELECT * FROM users”;
2. JumpServer作为数据库代理,实时拦截SQL请求;
3. 系统根据当前用户的身份、访问的资产以及账号,匹配预设的数据脱敏策略;
4. 如果命中策略,系统自动重写SQL语句,将敏感字段替换为脱敏表达式,例如“phone”→“CONCAT(LEFT(phone, 2), REPEAT('*', 9))” ;
5. 系统对查询后的返回结果进行脱敏处理,并将脱敏结果返回给用户;
6. 原始数据始终未被修改,所有操作行为均被记录在审计日志中。
安全机制说明:原始数据不出库,脱敏操作在JumpServer内存中完成,不依赖数据库的原生脱敏功能。
▲图1 JumpServer数据脱敏流程图
三、操作步骤
1. 创建脱敏规则
在JumpServer堡垒机中依次选择“控制台”→“访问控制”→“数据脱敏”,点击“创建”按钮,配置数据脱敏规则,JumpServer支持基于用户、资产和账号三个维度对脱敏规则进行精细化管理。
▲图2 在JumpServer中创建脱敏规则
2. 参数说明
创建数据脱敏规则的详细参数说明如下表所示:

四、效果展示
创建脱敏规则后,用户可在Web终端连接资产进行测试,JumpServer支持用户通过Web CLI、Web GUI或客户端等多种方式连接数据库进行测试。
以下以MySQL数据库为例,展示JumpServer数据脱敏的效果。
我们创建了两条脱敏规则,分别对“password”和“phone”字段进行脱敏处理:
■ “password”字段使用“固定字符替换”方法;
■ “phone”字段使用“保留前缀”方法(即保留前两位字符)。
执行“SELECT * FROM users;”语句,脱敏效果如下:
▲图3 数据脱敏效果(使用Web CLI方式连接MySQL数据库)
▲图4 数据脱敏效果(使用Web GUI方式连接MySQL数据库)
▲图5 数据脱敏效果(使用客户端方式连接MySQL数据库)
从上述测试结果可以看出,“password”字段已被替换为预设的固定字符,“phone”字段仅显示前两位字符,其余用“*”符号进行了遮盖。数据脱敏功能验证成功!