初始密钥问题是什么
「保护密钥的密钥从哪来」:访问系统的第一把凭据如何安全获取,是密钥管理的自举问题。答案不是无限套娃,而是把信任锚定在外部平台:云 KMS、硬件安全模块、CI 的 OIDC 平台身份。主流做法是让工作负载用平台身份换取短期凭据,链路中不出现长期静态密钥,泄露面大幅缩小。
基本信息
| 本质 | 信任链需要一个不可自证但受保护的根 |
|---|---|
| 常见锚点 | 云平台根密钥(KMS)、CI OIDC 联邦身份、HSM/TPM |
| 落地 | 运行时用平台身份换取短期凭据,长期密钥不落工作负载 |
| 评估问题 | 根密钥放哪、谁能取、多久轮换、泄露后影响多大 |
| 反模式 | 把凭据写进镜像、清单或脚本等任何制品 |
典型使用场景
- 云上工作负载:用实例或服务角色换临时凭据
- Kubernetes:ServiceAccount 投影令牌对接密钥系统
- CI 发布:OIDC 联邦替代长期发布密钥
- 数据库访问:动态凭据按需签发、短 TTL
- 审计:临时凭据天然关联到身份与时间
- 灾备演练:定期验证信任链能从零重建
思路示意
思路示意
工作负载 → 平台身份(如 K8s SA)→ 换取 Vault/云临时凭据 → 访问资源
(链路中没有任何长期静态密钥)
# 反例:把 API Key 写进镜像或编排清单 → 制品泄露即失守信任锚点对照
| 锚点 | 适用 | 注意 |
|---|---|---|
| 云 KMS | 云上资源访问 | 权限按 IAM 收紧 |
| CI OIDC | 流水线发布 | 按仓库与环境限制签发范围 |
| HSM/TPM | 本地与高要求场景 | 成本与运维门槛较高 |
方案评估先问:根密钥放在哪、谁能取、多久轮换、泄露后影响多大。
轮换视角:能轮换的密钥才算受管密钥,轮换不动的机制要迁移到可换的实现。
改造顺序:先清点现有长期密钥存量,再逐个替换为平台身份与临时凭据。