日志脱敏是什么
日志脱敏让日志可用于排障但不出卖凭据:Authorization 头、token 与 password 参数、Cookie、证件号与手机号等,都要在落盘之前处理。手段分三层:应用侧结构化日志(避免拼字符串)、采集端字段过滤、网关对查询参数脱敏。验证靠抽样审计与「grep 敏感值」巡检,一次评审换不来长期可靠。
基本信息
| 适用平台 | 应用服务、网关、容器与平台组件日志统一要求 |
|---|---|
| 对象 | Authorization 头、token/key/password 参数、Cookie、证件与联系方式 |
| 手段 | 采集端过滤 + 应用侧结构化日志 + 网关查询参数脱敏 |
| 验证 | 抽样审计日志内容;把「日志里 grep 敏感值」做成巡检 |
| 验证方式 | 用样例日志跑一遍规则,检查是否有字段遗漏 |
典型使用场景
- 统一接入:网关与服务的访问日志默认脱敏,业务无感
- 排障与合规平衡:保留请求 ID 与用户哈希,既关联又不泄露
- 外发前再处理:日志发往工单与群机器人前二次脱敏
- 合规审计:个人信息字段按最小化原则进日志
- 应急排查:出现疑似泄漏时全量扫描日志存储并整改
- 审计留痕:脱敏动作本身记入审计日志,谁在何时访问过敏感字段可查
脱敏示意
脱敏示意
Authorization: Bearer ****
token=****
password=****
# 结构化字段示例:{"request_id":"r_88f2","token":"[REDACTED]","user_id":"u_1024"}处理层次与对象
| 层次 | 手段 | 覆盖对象 |
|---|---|---|
| 应用 | 结构化日志与序列化过滤 | 请求体与请求头 |
| 采集端 | 管道过滤规则 | 容器与文件日志 |
| 网关 | 查询参数脱敏 | URL 中的 token 等参数 |
| 外发 | 二次脱敏与权限控制 | 工单与通知渠道 |
排障仍需要关联信息:保留请求 ID、用户 ID(或哈希)、时间戳,替代原始敏感值,否则脱敏会拖慢定位。
脱敏名单集中维护:配置化并随新字段更新,别散落在各个服务的代码里各写一份。