1. 为什么 Provider 密钥应由 BFF 持有,浏览器到 BFF 的认证、授权、限额和审计如何分层
为什么 Provider 密钥应由 BFF 持有?浏览器到 BFF 的认证、授权、限额和审计应如何分层?
- Provider 密钥为何不能放前端
- BFF 层安全职责的分层
- 认证、授权、限额、审计的结合
Provider 密钥(API key)必须由 BFF 持有,绝不能放前端——前端代码可被查看、篡改、提取,泄露会导致额度滥用与成本失控。BFF 作为唯一出口,分层承担安全职责:认证(验证浏览器用户身份,如 OIDC Cookie)、授权(该用户是否允许调用某模型/工具)、限额(按用户/项目配额与成本熔断)、审计(记录每次调用、token、成本、requestId)。浏览器只与 BFF 交互,BFF 代理上游 Provider 并持有密钥。
安全边界是"前端不可信":密钥只能留在服务端。BFF 把认证、授权、限额、审计集中,既保护密钥又统一治理。前端只发送"用户请求",BFF 决定"能否执行"。