Skip to content

数据保护与保留期 ​

录制下来的是真实的业务请求和响应,可能含有客户信息、金额、证件号等敏感内容。本页说明私有化部署时这些数据存在哪、怎么加密、谁能看到、保留多久。

采集了什么 ​

数据内容存在哪
录制数据入口请求和响应,以及处理过程中对数据库、缓存、下游接口的调用参数和结果平台的 MongoDB
回放结果回放时的响应和依赖调用、对比结果平台的 MongoDB
实例信息Agent 首次连接平台时上报被测服务的 JVM 系统属性和环境变量,用于识别实例平台的 MongoDB
日志录制、回放过程中平台和 Agent 的运行日志单机部署:平台服务器上的日志数据卷;Kubernetes 部署:日志管道的存储(集群内的卷或你们的对象存储)

单机部署和 Kubernetes 部署时,这些数据都只在你们的网络里。只有启用了 AI 诊断、回放通知 时,才会把相关内容发给你们配置的大模型服务或通知渠道。

实例信息不加密

JVM 系统属性和环境变量不在下面的报文加密范围内。如果被测服务的启动参数或环境变量里有密码、令牌,请在接入前处理,例如改为从配置中心或文件读取。

报文加密 ​

录制的请求和响应报文,以及回放对比时保存的两边报文,写入数据库前都会加密(AES-256-GCM),默认开启。回放要用原始报文,所以数据库里保存的是加密后的完整报文,读取时解密。

密钥:

  • 单机部署:安装包带有一个默认密钥,所有安装包相同。请在录下第一条数据之前换成你们自己的密钥,见下文。
  • Kubernetes 部署:安装时必须在 values 里提供 encryption.secretKey,见 Kubernetes 部署(Helm)。

更换单机部署的密钥 ​

  1. 生成一个新密钥(32 字节,Base64 编码):

    bash
    openssl rand -base64 32
  2. 在 softprobe/docker-compose.yml 里 sp-allinone 服务的 environment 下加一行:

    yaml
        environment:
          AES256_ENCRYPTION_SECRET_KEY: "<上一步生成的密钥>"
  3. 在 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 — 移除。
  • 平台:删除容器、数据卷、镜像和安装目录,见 单机部署 — 卸载。数据卷删除后录制数据无法恢复。

捕获 Session · 审查 Steps · 改进关键所在