首页/开发/CI/CD 与发布速查/初始密钥问题(Secret Zero)
环境与配置管理60 条

初始密钥问题(Secret Zero)

「保护密钥的密钥从哪来」:自举信任要从外部锚点获得——云 KMS、硬件令牌、CI 的平台身份,避免无限套娃。

CI/CD 与发布速查开发更新于 2026-10-13

初始密钥问题是什么

「保护密钥的密钥从哪来」:访问系统的第一把凭据如何安全获取,是密钥管理的自举问题。答案不是无限套娃,而是把信任锚定在外部平台:云 KMS、硬件安全模块、CI 的 OIDC 平台身份。主流做法是让工作负载用平台身份换取短期凭据,链路中不出现长期静态密钥,泄露面大幅缩小。

基本信息

本质信任链需要一个不可自证但受保护的根
常见锚点云平台根密钥(KMS)、CI OIDC 联邦身份、HSM/TPM
落地运行时用平台身份换取短期凭据,长期密钥不落工作负载
评估问题根密钥放哪、谁能取、多久轮换、泄露后影响多大
反模式把凭据写进镜像、清单或脚本等任何制品

典型使用场景

  • 云上工作负载:用实例或服务角色换临时凭据
  • Kubernetes:ServiceAccount 投影令牌对接密钥系统
  • CI 发布:OIDC 联邦替代长期发布密钥
  • 数据库访问:动态凭据按需签发、短 TTL
  • 审计:临时凭据天然关联到身份与时间
  • 灾备演练:定期验证信任链能从零重建

思路示意

思路示意
工作负载 → 平台身份(如 K8s SA)→ 换取 Vault/云临时凭据 → 访问资源
(链路中没有任何长期静态密钥)
# 反例:把 API Key 写进镜像或编排清单 → 制品泄露即失守

信任锚点对照

锚点适用注意
云 KMS云上资源访问权限按 IAM 收紧
CI OIDC流水线发布按仓库与环境限制签发范围
HSM/TPM本地与高要求场景成本与运维门槛较高
方案评估先问:根密钥放在哪、谁能取、多久轮换、泄露后影响多大。
轮换视角:能轮换的密钥才算受管密钥,轮换不动的机制要迁移到可换的实现。
改造顺序:先清点现有长期密钥存量,再逐个替换为平台身份与临时凭据。

易错点

  • 把根密钥写进编排清单:等于把答案与锁放一起,改走平台身份
  • 自举流程无人演练:故障时才发现无法重建信任链,定期演练恢复
  • 长期密钥散落多处没人盘点:谁在用、能否吊销都说不清,先建清单
  • 临时凭据 TTL 过长:短期机制当长期用,缩短 TTL 并验证续期路径
  • 自举权限过大:能读一切密钥的聚合身份要拆小,按用途分权

数据来源与参考

  • HashiCorp《Secret Zero》白皮书
  • AWS《IAM Roles for Service Accounts》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌