安全·合规·质量
护栏处置类别参考
护栏对单次请求的各类处置结果(通过、拦截、脱敏、拒绝、误拒)的逐类定义、对应错误码与 HTTP 语义、在逐条记录与统计中的字段映射,以及应用侧的处理建议
本页是 安全防护 的处置类别速查页。护栏对每一次请求给出一个处置结果,写入该次逐条调用记录,并按类别计入护栏统计。本页逐类列出处置结果的定义、对应错误码与 HTTP 语义、在逐条记录与统计中的字段映射,以及应用侧的处理建议,便于您在集成时为不同处置编写分支逻辑。
护栏的防护策略由平台统一施加,本页只说明各类处置结果的含义与呈现,不涉及客户侧策略配置——您在客户侧关注的是「收到某类处置后应如何处理」与「在统计中如何复核」。
处置结果总览
| 处置结果 | 触发自 | 是否拦截请求 | 响应形态 |
|---|---|---|---|
| 通过 | 未命中任何防护 | 否 | 正常返回模型结果 |
| 拦截(注入) | 注入防护 | 是 | 结构化错误体,code 为 guardrail_blocked |
| 拦截(应拒答) | 应拒答拦截 | 是 | 结构化错误体,code 为 guardrail_blocked |
| 脱敏 | 敏感信息脱敏 | 否 | 正常返回,敏感片段已替换为掩码 |
| 拒绝(访问控制) | 访问控制 | 是 | 按 HTTP 语义返回(401 / 403 / 404) |
| 误拒 | 正常请求被误判 | 是 | 结构化错误体,code 为 guardrail_blocked(同拦截,事后经申诉确认为误拒) |
「误拒」是事后定性,不是独立处置分支。 误拒在响应当下与「拦截」无法区分——都是结构化拒答。它是一次拦截经申诉复核确认为误判后的定性,用于护栏统计中的误拒率计算。处理建议见下文与 安全防护 · 误拒说明与申诉路径。
逐类处置说明
通过
- 含义:请求未命中任何防护规则,正常放行至智能查询路由聚合处理并返回模型结果。
- 逐条记录:护栏处置结果标注为「通过」。
- 统计映射:不计入
intercept_count(仅拦截与脱敏类计入处置总次数)。 - 应用侧处理:按常规成功响应处理即可。
拦截(注入)
- 含义:命中注入防护,请求被拦截、未转发至模型。
- 响应:
code为guardrail_blocked的结构化错误体,含request_id。 - 逐条记录:护栏处置结果标注为「拦截(注入)」。
- 统计映射:计入
by_category.injection。 - 应用侧处理:识别
guardrail_blocked后向用户提示「输入未通过安全护栏」,不建议原样重试;如确为正常业务请求,留存request_id提交申诉。
拦截(应拒答)
- 含义:查询内容明确应当拒绝回答,请求被拦截、未转发至模型。
- 响应:
code为guardrail_blocked的结构化错误体,含request_id。 - 逐条记录:护栏处置结果标注为「拦截(应拒答)」。
- 统计映射:计入
by_category.should_refuse。 - 应用侧处理:与注入拦截同样识别
guardrail_blocked;这类拦截多源自内容合规判定,通常无需重试。
脱敏
- 含义:在输入或输出中识别到敏感信息片段,对相应片段打码后继续处理或返回——请求正常完成,不拦截。
- 响应:正常的成功响应;返回内容中的敏感片段已替换为掩码,其余内容不变。
- 逐条记录:护栏处置结果标注为「脱敏」,表示本次请求在输入或输出侧发生过脱敏。
- 统计映射:计入
by_category.redaction。 - 应用侧处理:按成功响应处理;若业务确需保留原始敏感字段(如内部脱敏前的核对),应在调用前自行评估是否提交此类内容。脱敏作用于输入与输出两侧的说明详见 安全防护 · 敏感信息脱敏。
拒绝(访问控制)
- 含义:请求超出所用密钥的授权范围(模型范围外、密钥已暂停 / 注销、越权访问资源等),在治理链路前置环节被拒绝。
- 响应:按 HTTP 语义返回对应错误码——
401(未认证)/403(无权限)/404(资源不存在,含越权访问),错误体结构与其余错误一致。 - 统计映射:计入
by_category.access_control。 - 应用侧处理:按错误码区分——
401检查密钥是否有效、未被暂停或注销;403/404确认所请求模型在该密钥授权范围内、所访问资源属于本账户。密钥授权范围管理详见 API 密钥管理。
误拒
- 含义:本属正常的请求被护栏误判为应拦截;在响应当下呈现为「拦截」,经申诉复核确认后定性为误拒。
- 响应:与拦截一致(
guardrail_blocked结构化错误体)。 - 统计映射:确认的误拒计入护栏统计的
false_reject_rate(误拒率)。 - 应用侧处理:留存
request_id,按 误拒说明与申诉路径 提交申诉;若某类正常业务请求反复被误拒,连同若干request_id一并申诉,便于平台批量复核与优化。
处置结果与统计字段映射
| 处置结果 | 逐条记录处置标注 | 护栏统计字段 |
|---|---|---|
| 通过 | 通过 | —(不计入拦截总次数) |
| 拦截(注入) | 拦截(注入) | by_category.injection |
| 拦截(应拒答) | 拦截(应拒答) | by_category.should_refuse |
| 脱敏 | 脱敏 | by_category.redaction |
| 拒绝(访问控制) | 越权拒绝 | by_category.access_control |
| 误拒(确认后) | 误拒 | false_reject_rate |
同源复核。 上表的统计字段汇总值,可在 用量明细与计量说明 中按对应的护栏处置结果筛选逐条调用记录复核;护栏统计与逐条记录同源,逐层对得上。统计字段的整体读法见 安全防护 · 护栏统计的读法。
应用侧分支处理建议
集成时,建议按下述优先级对响应做处置分支:
| 判定顺序 | 判定依据 | 建议处理 |
|---|---|---|
| 1 | HTTP 状态码为 401 / 403 / 404 | 访问控制类:检查密钥状态与授权范围 |
| 2 | 响应含 error.code == "guardrail_blocked" | 护栏拦截:向用户提示未通过安全护栏,留存 request_id,正常业务请求可申诉 |
| 3 | 成功响应,但内容中出现掩码片段 | 已脱敏:按成功结果使用 |
| 4 | 成功响应,内容完整 | 通过:常规处理 |
各类错误码的整体区分、HTTP 语义与退避重试建议(含额度暂停
429等非护栏错误)详见 错误码与重试。