13. 配置敏感数据(PII)检测
完整版章节。内容按 2026.10 主线代码核对;具体入口以当前许可、账号权限和交付环境为准。
敏感数据检测分两处配置:
- 「管理控制台 → 护栏 → 敏感数据」维护可识别的敏感数据规则。「护栏」是侧栏「护栏」分组下的同名菜单,页面包含「敏感数据」「词库」「问答」「内部系统白名单」四个页签。
- 「管理控制台 → 路由策略 → 流量规则」中的「内容检测」动作决定哪些调用检测哪些类型、命中后如何处置。
护栏页只定义能识别什么。没有任何流量规则引用时,敏感数据规则不会对调用生效。
| 前提 | 说明 |
|---|---|
| 角色 | 租户管理员或「安全管理员」 |
| 许可模块 | 「护栏」页需要「模型护栏」;在「流量规则」中启用检测还需要「动态路由」 |
| 依赖配置 | 识别人名、地址、机构名时,需在「管理控制台 → 系统设置 → 全局设置」的默认模型中设置「敏感信息识别」模型 |
13.1 敏感数据页签与内置规则
进入「管理控制台 → 护栏 → 敏感数据」。工具栏提供搜索、筛选(「状态」「分组」)、「导入」「导出」「试运行」和「添加PII策略」。列表列为「规则名称」「正则」「类型」「来源」:规则名称后显示所属分组;「来源」为「内置」或「自定义」。

平台内置二十多条规则,分为四个分组:
| 分组 | 覆盖内容 |
|---|---|
| 通用 | 身份证号、手机号、银行卡号、电子邮箱、固定电话、护照号、车牌号 |
| 金融 | 统一社会信用代码、纳税人识别号、银行账号、IBAN、证券账户 |
| 医疗 | 病历号、医保卡号、患者编号 |
| 密钥 | API 密钥、Access Token、密码、私钥,以及 sk-style API 密钥、AWS Access Key ID、GitHub PAT 等常见密钥格式 |
身份证号、手机号、银行卡号三条规则在「正则」列标为「智能识别」,分别使用「身份证号(校验位+出生日期)」「手机号(号段+长度校验)」「银行卡号(Luhn 校验)」算法校验,用于减少误报。纳税人识别号、银行账号、证券账户、病历号、医保卡号、患者编号等格式松散的规则,要求号码附近出现中文或英文标签(例如“病历号”“MRN”)才会命中。
内置规则由平台维护并随版本更新。选择内置规则打开「查看PII策略」弹窗,内容只读,不能修改或删除。本页不提供单条规则的启停开关:一条规则是否参与检测,取决于流量规则选中的类型(见 13.4 节)。
人名、地址、机构名没有固定格式,不提供正则规则,由敏感信息识别模型识别(见 13.4 节)。
13.2 新增、导入与导出自定义规则
- 选择「添加PII策略」,打开同名弹窗。
- 在「策略名称」中填写能说明数据含义的名称,例如“客户编号”。
- 在「正则表达式」中填写匹配规则。也可以填写内置识别器标识复用算法校验,例如
lp-recognizer:cn_mobile@v2(手机号)、lp-recognizer:cn_id_card@v2(身份证号)、lp-recognizer:bank_card@v2(银行卡号)。 - 在「类型」中选择已有类型,或输入新的类型标识。流量规则按类型引用规则,同一类型可以对应多条规则。
- 选择「确认」。

保存时服务端校验正则表达式,不合格的规则不会保存,页面提示失败原因。限制如下:
- 不能为空,长度不超过 500 个字符;
- 不支持前后行断言(look-around);
- 重复量词不超过 10 个,重复嵌套不超过 2 层;
- 编译后体积超出执行引擎上限的表达式会被拒绝。
选择自定义规则所在行打开「编辑PII策略」,可修改名称、正则表达式和类型,或选择「删除」。使用内置识别器标识的规则在弹窗中不提供「删除」。
「导出」生成 pii-rules.json,包含当前规则。「导入」只接受同格式的 JSON 文件。导入时与平台版本不一致的内置规则会被跳过,页面列出「这几条内置规则与平台不一致,已跳过,平台规则未改」及不一致的内容;导入中断时,可在同一弹窗选择「重试」从中断处继续。
规则上线前,应使用脱敏样本覆盖“应命中、边界值、不应命中”三类文本,并通过 13.3 节的试运行核对。表达式过宽会造成误报和业务阻断,过窄会造成漏检。
13.3 试运行
选择「试运行」,打开「敏感数据试运行」:
- 在「要检测的类型」中选择一个或多个类型。
- 在「检测到敏感信息」中选择处置方式:「仅记录,放行」「脱敏后继续处理」或「拦截」。
- 在「要检查的文本」中粘贴样例,选择「检查」。
结果显示结论(例如「已拦截」)和命中说明,与请求详情中的护栏结论使用同一种展示。试运行使用与网关相同的规则求值,只读,不修改配置,不影响线上调用。选择人名、地址或机构名时,试运行会调用敏感信息识别模型,未设置该模型时无法得到这几类结果。
13.4 在流量规则中启用检测与命中处置
在「管理控制台 → 路由策略 → 流量规则」中新建或编辑规则,选择「+ 添加动作」→「内容检测」,将卡片中的「检测方式」设为「PII 敏感数据」。规则的匹配条件、执行顺序和发布方法见第 15 章。
检测范围。 「检测范围」分为「模板」和「单独类型」两页,可同时选择。模板是一组类型,单独选择的类型追加到检测范围,重复类型只检测一次。平台提供四套模板:
| 模板 | 包含的类型 |
|---|---|
| 通用 | 通用分组与密钥分组的类型 |
| 证券 | 通用、金融、密钥分组的类型 |
| 医疗 | 通用、医疗、密钥分组的类型 |
| 研发安全 | 电子邮箱与密钥分组的类型 |
命中处置。 卡片中的「命中后的处理」与规则出口「检测到敏感信息」是同一设置,可选「仅记录,放行」「脱敏后继续处理」「拦截」。处置按以下顺序确定:
- 在「单独类型」中点名的类型,按本规则选择的处置执行;
- 只通过模板带入的类型,按规则自身的默认动作执行。内置规则和新建的自定义规则默认动作均为脱敏,这类类型命中后按「脱敏后继续处理」处置;
- 人名、地址、机构名没有规则行,按本规则选择的处置执行。
需要对某个类型拦截或仅记录时,应在「单独类型」中逐个选中该类型,不能只依赖模板。
一次请求命中多条带内容检测的规则时,检测类型合并,同一类型取更严格的处置(拦截高于脱敏,脱敏高于仅记录)。
人名、地址、机构名。 这三类由「全局设置 → 默认模型」中的「敏感信息识别」模型识别,需选用支持敏感信息识别用途的模型服务。未设置时,规则编辑器中这三类显示「需要先选模型」,不可选;仍有规则选用它们时,全局设置不允许清空该模型。模型识别结果与正则结果合并后按上面的顺序处置。模型调用失败时按规则的「组件不可用时」设置处理,见 14.4 节。
检测阶段。 内容检测默认同时检测请求输入和模型输出,阶段设置见 14.2 节。
13.5 脱敏结果与审计
- 脱敏。 处置为「脱敏后继续处理」时,命中内容在发往上游前替换为租户绑定的加密占位符(形如
[PIIREF:v1:…]),原值不发送给模型。业务系统经 API 密钥调用时,网关不会把模型回复中的占位符还原为原值。 - 审计记录。 命中审计只记录数据类型、命中次数、策略来源和处置动作,不包含请求原文、规则名或命中值。
- 原文证据。 命中的原文以加密形式保存。租户管理员可在请求详情的「护栏」区选择「查看原文」,在「护栏原文证据」中查看;每次查看都会写入操作审计。
- 验证。 用测试调用触发规则后,在请求详情的「护栏」区核对结论,例如已脱敏的类型与次数,或已拦截的类型。
13.6 检测状态与总开关
敏感数据规则只定义“能识别什么”。一次调用是否执行敏感信息检测、检测输入还是输出、命中后拦截还是脱敏,都在路由策略规则的内容检测段中设置;只建规则、没有路由策略引用时,规则不参与任何调用。
检测状态。 页面顶部始终显示本租户的检测状态:
- 生效中:至少有一条已启用的规则。被路由策略引用的规则会参与判定。
- 未生效:没有已启用的检测规则,同一位置给出该原因。添加或启用规则后检测立即生效。
状态行下方显示规则数(含启用数)、自建词库数,以及“被 N 条路由策略引用”。“被 N 条路由策略引用”统计的是护栏段引用了敏感信息检测或词库、且处于启用状态的路由策略规则,点击即可跳转到路由策略列表并只显示这些规则。
没有检测总开关。 敏感数据检测是否生效只取决于是否有已启用的规则:规则启用即参与判定,停用即不参与。需要“先建规则、暂不生效”时,保存后停用该规则即可。
升级说明:旧版本的检测总开关已取消。升级前关闭了总开关的租户,升级后只要有已启用的规则,检测即恢复生效;请在本页确认规则的启用状态。