数据保护与保留期
录制下来的是真实的业务请求和响应,可能含有客户信息、金额、证件号等敏感内容。本页说明私有化部署时这些数据存在哪、怎么加密、谁能看到、保留多久。
采集了什么
| 数据 | 内容 | 存在哪 |
|---|---|---|
| 录制数据 | 入口请求和响应,以及处理过程中对数据库、缓存、下游接口的调用参数和结果 | 平台的 MongoDB |
| 回放结果 | 回放时的响应和依赖调用、对比结果 | 平台的 MongoDB |
| 实例信息 | Agent 首次连接平台时上报被测服务的 JVM 系统属性和环境变量,用于识别实例 | 平台的 MongoDB |
| 日志 | 录制、回放过程中平台和 Agent 的运行日志 | 单机部署:平台服务器上的日志数据卷;Kubernetes 部署:日志管道的存储(集群内的卷或你们的对象存储) |
单机部署和 Kubernetes 部署时,这些数据都只在你们的网络里。只有启用了 AI 诊断、回放通知 时,才会把相关内容发给你们配置的大模型服务或通知渠道。
实例信息不加密
JVM 系统属性和环境变量不在下面的报文加密范围内。如果被测服务的启动参数或环境变量里有密码、令牌,请在接入前处理,例如改为从配置中心或文件读取。
报文加密
录制的请求和响应报文,以及回放对比时保存的两边报文,写入数据库前都会加密(AES-256-GCM),默认开启。回放要用原始报文,所以数据库里保存的是加密后的完整报文,读取时解密。
密钥:
- 单机部署:安装包带有一个默认密钥,所有安装包相同。请在录下第一条数据之前换成你们自己的密钥,见下文。
- Kubernetes 部署:安装时必须在 values 里提供
encryption.secretKey,见 Kubernetes 部署(Helm)。
更换单机部署的密钥
生成一个新密钥(32 字节,Base64 编码):
bashopenssl rand -base64 32在
softprobe/docker-compose.yml里sp-allinone服务的environment下加一行:yamlenvironment: AES256_ENCRYPTION_SECRET_KEY: "<上一步生成的密钥>"在
softprobe/目录执行./start.sh,容器会按新配置重建。
docker-compose.yml 升级时不会被覆盖,密钥会一直保留。
密钥丢了,数据就读不出来
- 密钥要单独备份,和数据库备份分开保存。
- 已经有录制数据后再换密钥,之前的数据用新密钥解不开:报文会显示为空,也无法回放。只在刚安装、还没有数据时更换。
国密 SM4
平台支持改用国密 SM4(SM4-GCM)加密报文,与 AES 二选一。有国密要求时,请在安装前联系 SoftProbe 配置。
传输加密
Agent 与平台之间默认走 8090 端口的 HTTP,不加密,数据只在内网传输。要求传输加密时,需要为平台配置受信证书,并把证书导入被测服务的 Java 信任库。平台自带的 8443 端口使用自签名证书,Agent 默认不信任它,不要直接把 Agent 指向 8443。
展示脱敏
在「配置 → 脱敏规则」里按字段配置,控制台显示录制和回放报文时,命中规则的字段按规则遮盖。见 录制配置与回放配置 — 脱敏规则。
脱敏只影响显示,不改变存储:
- 数据库里存的仍是加密后的原始报文,回放用的也是原始报文。
- 只对 JSON 格式的报文生效。XML 等其他格式,以及超过约 100 万字符的报文,控制台显示原文。
谁能看到
私有化部署目前没有用户账号和权限控制,平台的接口不做身份校验:能访问平台服务器 8090 端口的人,都能看到全部应用的录制数据。访问控制靠网络策略:
- 8090 端口只开给需要使用 SoftProbe 的人员和被测应用服务器,见 部署前准备 — 网络策略。
- 平台服务器的其他端口不对外开放。
- 回放触发接口(
SP_REPLAY_OPENAPI)不做身份校验,默认关闭;只在 8090 端口仅内网可达时打开。
保留期
在控制台右上角「设置 → 数据保留期」里设置,对所有应用生效,清理任务每小时执行一次。
| 数据 | 包括 |
|---|---|
| 录制流量 | 录制的用例、调用链关系和接口统计 |
| 日志 | 录制和回放过程中采集的日志 |
| 回放诊断数据 | 回放执行日志和 Mock 决策记录。回放报告本身不会被清理 |
每类数据可选「系统默认」「永久保留」或「自定义天数」(最多 10000 天)。录制流量的系统默认是保留 2 天。
撤场与清理
- 被测服务:去掉 Agent 的启动参数并重启,再删除
sp-agent.jar和它的日志目录,见 接入 Java Agent — 移除。 - 平台:删除容器、数据卷、镜像和安装目录,见 单机部署 — 卸载。数据卷删除后录制数据无法恢复。