Files
lijiaoqiao/docs/llm_gateway_subapi_evolution_plan_v4_2_2026-03-24.md

139 lines
5.2 KiB
Markdown
Raw Normal View History

# 商用 LLM 通用转发网关演进方案Subapi First
- 版本v4.2(凭证边界澄清版)
- 日期2026-03-24
- 基线性质SSOT单一事实源
- 适用阶段S0-S4
---
## 0. 本版修订目的
本版仅做一件事:明确并冻结“用户分享 token 的边界”。
**本方案认可并采用以下业务链路:**
`用户A供给 -> 平台 -> 用户B购买服务`
但该链路必须满足以下前提:
1. 用户A分享对象是平台不是用户B。
2. 用户B购买的是平台服务能力不是用户A的上游账号凭证。
3. 平台承担统一鉴权、审计、计费、合规责任。
---
## 1. 术语与边界(强制)
## 1.1 术语
| 术语 | 定义 |
|---|---|
| 供应方用户A | 向平台提供可调度配额的用户/企业 |
| 平台 | 统一网关与控制面,持有上游凭证托管能力 |
| 需求方用户B | 购买平台服务能力的用户/企业 |
| 上游凭证 | 供应商 API Key/OAuth Token 等原始凭证 |
| 平台凭证 | 平台签发给用户B的调用凭证租户级/项目级) |
## 1.2 红线约束MUST/MUST NOT
1. `MUST`上游凭证只能由平台密态托管Vault/KMS不得明文外发。
2. `MUST`用户B只能使用平台凭证访问平台入口不得直接调用供应方上游账号。
3. `MUST NOT`:任何 API/控制台/导出能力向用户B返回供应方上游凭证。
4. `MUST NOT`:日志、报表、告警中出现可复用的上游凭证片段。
5. `MUST`:平台在审计中可证明“每次请求均由平台凭证入站 + 平台侧代持上游凭证出站”。
---
## 2. 架构口径v4.2
## 2.1 入口鉴权
1. 北向入口只接受平台凭证(平台签发)。
2. 上游凭证不作为北向接口参数,不作为用户可见字段。
3. query key 外部一律拒绝,内部仅允许受控改写并全量审计。
## 2.2 出站调用
1. 平台在 Provider Adapter 层按策略选择供给池账号。
2. 上游调用由平台运行时短时解密,调用完成即销毁明文态。
3. 供应方账号仅用于平台代调度不形成“用户B直连上游”的能力。
## 2.3 计费与结算
1. 用户B账单只面向平台服务计费口径。
2. 供应方结算在平台内部完成不向用户B暴露可复用凭证或上游账户标识。
3. 争议处理以平台 request_id 为唯一追踪主键。
---
## 3. ToS 合规执行v4.2 统一口径)
1. “禁止账号共享/转售”的供应商条款,必须映射为可执行规则,不允许文档口头豁免。
2. 供应商策略分层:
- 允许平台代理模式:可进入供给池。
- 仅允许 BYOK仅支持客户自持账号不进入供给池。
- 不允许代理/转售:默认禁入并阻断。
3. 未取得法务书面结论前,相关供应商默认按“禁入供给池”处理。
---
## 4. 验收门禁补充(新增硬指标)
在原 `acceptance_gate_single_source_v1_2026-03-18.md` 基础上增加以下指标:
| 指标ID | 指标名 | 目标值 | 阻断阈值 | 说明 |
|---|---|---|---|---|
| M-013 | `supplier_credential_exposure_events` | 0 | >0 即 P0 | 供应方上游凭证泄露事件数 |
| M-014 | `platform_credential_ingress_coverage_pct` | 100% | <100% 即阻断 | 入站请求使用平台凭证覆盖率 |
| M-015 | `direct_supplier_call_by_consumer_events` | 0 | >0 即 P0 | 用户B绕过平台直连供应方事件 |
| M-016 | `query_key_external_reject_rate_pct` | 100% | <100% 即阻断 | 外部 query key 拒绝率 |
红线触发动作:
1. 立即停止升波。
2. 触发自动回切。
3. 24小时内提交根因与修复证据。
---
## 5. P0/P1 整改清单v4.2 收敛版)
## 5.1 P0开工前必须完成
| ID | 问题 | v4.2 处置 |
|---|---|---|
| P0-1 | 凭证边界表达歧义 | 通过第1章冻结“服务可售、凭证不外发”的硬约束 |
| P0-2 | ToS 红线与商业口径冲突 | 通过第3章引入供应商分层准入未确认默认禁入 |
| P0-3 | 法务结论未闭环 | 未签署前禁止进入相关上线 Gate |
## 5.2 P1两周内完成
| ID | 问题 | v4.2 处置 |
|---|---|---|
| P1-1 | 折扣/毛利/S0周期多口径 | 统一以本文件 + 唯一门禁表为准 |
| P1-2 | PostgreSQL 与 MySQL 方言混用 | SQL 示例收敛为 PostgreSQL 可执行版本 |
| P1-3 | 安全标准并存MD5/HMAC | 统一 HMAC-SHA256旧方案标注废弃 |
| P1-4 | 证据目录缺失 | 补齐 `tests/``evidence/` 与可复跑报告链路 |
参数冻结补充(用于消除 P1-1 多口径):
1. 采购折扣系数:`60%`
2. 毛利率目标区间:`15%-50%`
3. S0 周期:以 `acceptance_gate_single_source_v1_2026-03-18.md` 与执行任务单里程碑为准。
---
## 6. 72小时落地计划
1. `T+24h`完成全部文档中的凭证边界替换删除“用户B获取供应方Key”措辞
2. `T+48h`:更新唯一门禁表并加入 M-013~M-016接入 CI 阻断。
3. `T+72h`:提交法务签署状态、门禁演练报告、一次凭证泄露演练报告。
---
## 7. 与 v4.1 关系
1. v4.1 作为历史基线保留。
2. 从本文件发布起,凡与“凭证边界”冲突的 v4.1 表述全部失效。
3. 后续实施、评审、验收均以 v4.2 为准。