跳到主要内容
文章WHITEHOLE

企业级密钥与访问管理实践

AI 系统里的密钥不止一种:调用模型的凭据、访问数据源的连接串、以及各类集成凭证,它们共同决定谁能以企业的身份做什么。本文把密钥分成三类,说明集中托管与轮换的最小实践、几条常见事故的成因,以及可以拿来核对的验收方式

安全数据隐私AI 治理

企业级密钥与访问管理,指的是把「谁能以企业的身份做什么」这件事收拢到集中控制之下。在 AI 系统里这件事格外重要,因为调用往往是自动化的、批量发生的 —— 密钥一旦泄露,损失不会停在一次请求上

密钥分三类

  • 模型调用凭据:用于访问推理服务的凭据,泄露后可能被以企业身份调用,直接产生费用。
  • 数据连接凭据:数据库、向量库与对象存储的连接串,泄露后风险直接落在数据上。
  • 集成与插件凭据:对外部系统调用的凭证,往往牵连多个下游业务动作。

三类凭据的风险方向不同:第一类主要是费用与声誉,第二类是数据,第三类可能是动作 —— 它能触发真实的业务变更。管理策略应当按这个顺序分配注意力。

集中托管与轮换的最小实践

  • 集中存放:密钥存在密钥管理服务里,而不是散落在配置文件、代码仓库或聊天记录中。
  • 支持轮换与撤销:更换与作废要能独立完成,不需要重启整套系统。
  • 访问可审计:谁读取过哪一条密钥、什么时候,都有记录。
  • 按任务绑定:每个调用以独立的服务身份发起,并限定可访问的数据范围。
  • 不进日志:密钥不得出现在日志、错误信息与监控面板里。

几条常见事故

  • 密钥进了代码仓库:即便之后删除,历史记录里仍然存在。
  • 一套密钥全公司共用:无法定位调用来源,也无法单独撤销某一方。
  • 人员离开后密钥未回收:权限随着人员流动长期悬空。
  • 密钥写在前端或客户端:等于公开发布,且通常难以快速轮换。

定期演练

密钥管理策略是否有效,不取决于文档写得多好,而取决于出事时能不能收得回来。建议通过模拟泄露事件来检验,重点看三件事

  • 撤销:能不能在短时间内让泄露的凭据失效,且不影响其他调用。
  • 通知:谁来通知受影响方,通知内容包含什么。
  • 溯源:能不能查清这条凭据此前被谁、在什么时间使用过。

演练要有记录,并且要记录耗时。没有计时就没有改进依据,而这类处置的时间通常在事后被反复追问。

验收

  • 代码仓库与配置文件中不存在明文密钥,且有检查机制防止回潮。
  • 每条密钥都能对应到具体用途与责任人。
  • 轮换与撤销被真实执行过至少一次,并有记录。
  • 演练的处置耗时留档,且针对瓶颈有改进动作。

几处容易忽略的细节

  • 临时凭据:为排查问题临时开通的访问权限,往往在问题解决后没有被收回。
  • 日志中的凭据:连接串与令牌经常因为错误信息而被整段写进日志,这是最常见的二次泄露路径。
  • 备份与快照:数据库备份、容器镜像与配置快照里同样可能存在密钥,删除时容易被遗漏。
  • 第三方脚本:用于数据同步或批处理的外部脚本,通常持有较高权限,却不在常规管理范围内。

FAQ

常见问题

与这篇相关、并且被问得最多的几个问题

密钥轮换会不会影响正在运行的服务
设计得当不会。常见做法是同时保留新旧凭据一段时间并逐步切换,但需要事先确定切换窗口与回退方式
内部系统之间也要用独立凭据吗
建议是。共用凭据会同时放大影响范围与排查难度,一旦需要撤销,往往只能整体停掉相关调用
演练多久做一次
没有统一标准,但系统中新增了数据源、更换了供应方或人员发生较大变动之后,都应当重新演练一次