← 返回题目列表

大模型应用中的密钥和工具凭证如何管理?

中等 第 16 / 25 题 更新于 2026/09/18
LLMOpsAI技术大模型面试题

简化版

密钥不能写进 Prompt、代码、镜像、环境示例或模型上下文。模型只产生“调用哪个工具、需要什么业务参数”的计划,可信执行器根据服务身份和用户授权,从 Secret Manager 获取短期、最小权限凭证后执行。

核心原则是集中托管、工作负载身份、短期令牌、最小权限、分环境/租户隔离、自动轮换和全链路脱敏。日志只记录 secret_id/version 与操作结果,不记录密钥值;发现泄露要立即吊销、轮换、清除派生副本并审计影响。

详细版

model tool plan -> schema/policy check -> trusted executor
                                      -> workload identity
                                      -> vault issues short-lived token
                                      -> tool call + audit
风险控制
Prompt 泄露凭证不进入模型上下文
长期 Key 被盗短期动态凭证与轮换
越权工具最小 Scope、资源和动作约束
跨租户串用独立命名空间与身份绑定
日志泄漏默认脱敏与 Secret 扫描

工具调用必须校验参数、权限、预算和副作用;高风险动作要求用户确认。Vault 不可用时默认失败关闭,不能回退到硬编码万能密钥。

完整版教学

1. 为什么模型不应看到密钥

模型上下文可能被提示注入、日志记录或回显。即使 System Prompt 要求保密,也不能保证模型绝不输出其中内容。

因此 Secret 必须停留在可信执行边界,模型只看到工具能力描述和脱敏结果。

2. 信任边界如何划分

用户输入、检索文档和模型输出均视为不可信;策略校验器与工具执行器属于受控代码;Vault 根据工作负载身份签发凭证。

untrusted: user / documents / model arguments
trusted  : policy engine / executor / secret manager

模型不能决定自己拥有什么权限。

3. 凭证存在哪里

使用云 Secret Manager、Vault 或 KMS 保护的存储,禁止提交 Git、烘焙镜像或写入普通配置中心。

应用保存 secret reference,不保存值;静态扫描、提交钩子和镜像扫描阻止误提交。

Vault 中的条目包含所有者、用途、环境、轮换周期和到期时间,孤儿凭证定期治理。KMS 负责保护主密钥,业务服务不应自行实现加密密钥管理。

4. 工作负载身份替代什么

Pod/VM/函数通过平台身份向 Vault 认证,避免部署一个长期 Bootstrap Key。身份绑定环境、服务账号和命名空间。

凭证签发策略同时检查调用服务与最终用户授权,防止共享执行器成为越权代理。

5. 最小权限如何落地

限制 API Scope、资源范围、租户、动作、金额、有效期和来源网络。读日历凭证不能用于发邮件,测试环境不能访问生产数据。

维度示例
动作read 而非 admin
资源指定仓库/账户
时间15 分钟有效
金额单次与日累计上限
环境prod/staging 隔离

权限模板版本化并经审批。

6. 短期凭证与轮换

优先使用按请求/会话签发的短期 Token;必须使用长期 Key 时自动轮换,并支持新旧版本短暂重叠。

消费者按 secret version 热加载,轮换后验证新版本,再吊销旧版本;不能只在数据库改值而不确认全部实例已更新。

对无法热加载的旧系统采用滚动重启,并监控旧版本使用计数。重叠窗口过短会造成中断,过长则扩大旧密钥暴露期,应按部署时长设定。

7. 多租户怎样隔离

租户自带凭证使用独立命名空间和加密上下文,缓存键包含 tenant_id,禁止跨租户复用。

删除租户时吊销凭证、清理缓存和审计记录;平台凭证若代替租户访问,必须在下游实施等价授权。

密钥引用中不暴露可枚举的租户路径,执行器同时校验“当前身份是否有权解析该引用”。备份和灾备区域也维持相同隔离策略。

8. 工具调用前检查什么

校验工具白名单、参数 Schema、目标资源、用户权限、预算和风险。来自检索内容的“调用指令”仅是数据,不能提高权限。

写操作带幂等键,高风险动作展示最终参数让用户确认,执行参数与模型建议参数分别审计。

9. 日志如何避免泄露

HTTP Header、查询串、错误堆栈和工具返回都可能含 Secret。日志框架默认按字段脱敏,并对自由文本做模式扫描。

记录 secret_id、版本和使用结果即可,绝不记录值。访问敏感审计日志本身也需授权与留痕。

10. Vault 不可用怎么办

短时可使用尚未过期的内存凭证,但不得落盘;超过有效期失败关闭,并对高风险工具禁用。

断路器防止大量请求同时冲击 Vault,恢复后渐进重试。不能回退到镜像内的备用万能 Key。

11. 泄露响应流程

立即吊销/轮换,定位使用范围,检查日志、缓存、构建产物和历史提交,通知责任人与下游,并审计异常调用。

detect -> revoke -> rotate -> contain -> investigate -> notify -> prevent recurrence

删除公开文本不等于安全,攻击者可能已复制凭证。

12. 如何测试与验收

测试提示注入索取密钥、模型参数夹带目标、跨租户引用、日志错误回显、轮换和 Vault 故障。

验证模型上下文无 Secret、旧凭证按时失效、最小权限阻止越权、审计能关联主体与操作。

Secret 管理的红线是:模型可以建议动作,但只有可信执行器能在确定权限下取得短期凭证并执行。

13. 常见误区与追问

  • 误区:把 Key 放 System Prompt 并要求不输出。 模型不是可靠的秘密边界。
  • 误区:环境变量天然安全。 仍可能被进程、转储和错误日志读取。
  • 误区:工具有 Schema 就不会越权。 Schema 校验格式,不代表权限。
  • 误区:轮换只是生成新 Key。 还要验证消费者并吊销旧版本。
  • 误区:Vault 故障时用万能备用 Key。 会绕过最小权限并扩大事故。
  • 追问:模型如何调用工具? 只生成结构化意图,由执行器校验并取凭证。
  • 追问:如何处理用户自带 Key? 租户隔离存储、短期解密、禁止进入日志与模型。

14. 加强记忆

  1. 先划边界:模型、用户和文档都不可信。
  2. 再集中托管:Secret Manager/Vault,不进代码镜像。
  3. 再用身份:工作负载身份换短期凭证。
  4. 再限权限:动作、资源、租户、时间和金额。
  5. 再做轮换:新旧重叠、验证消费者、吊销旧值。
  6. 再防泄露:上下文隔离、日志脱敏、扫描与审计。
  7. 最后演练:Vault 故障与凭证泄露都能安全处置。