秘密这玩意,真不能靠“记性”——Sealed Secrets、Vault 与云 KMS 的一次大实话对比

举报
Echo_Wish 发表于 2026/01/05 22:31:40 2026/01/05
【摘要】 秘密这玩意,真不能靠“记性” ——Sealed Secrets、Vault 与云 KMS 的一次大实话对比在运维这条路上,有一类事故我见得太多了,多到后来一看到苗头就头皮发麻:密码写进 GitToken 写进 Helm values私钥发在群里API Key 躺在 README每次出事,复盘会上大家都很诚恳:“下次一定注意。”但你我都清楚,不是人不注意,是系统在逼人犯错。今天咱就聊一个所有...

秘密这玩意,真不能靠“记性”

——Sealed Secrets、Vault 与云 KMS 的一次大实话对比

在运维这条路上,有一类事故我见得太多了,多到后来一看到苗头就头皮发麻:

  • 密码写进 Git
  • Token 写进 Helm values
  • 私钥发在群里
  • API Key 躺在 README

每次出事,复盘会上大家都很诚恳:

“下次一定注意。”

但你我都清楚,不是人不注意,是系统在逼人犯错。

今天咱就聊一个所有运维、平台工程师都绕不开的话题:

机密管理,到底该怎么搞?

重点放在三样东西上:

  • Sealed Secrets
  • HashiCorp Vault
  • 云厂商 KMS(阿里云 / AWS / GCP 那套)

我不讲“官方推荐”,只讲什么时候用它、踩过什么坑、值不值


一、先说句大实话:机密不是“藏”,是“管”

很多人一提 Secret,第一反应是:

“别让人看到就行。”

但这是最低级的安全认知

真正成熟的机密管理,至少要回答 5 个问题:

  1. 秘密存哪?
  2. 谁能用?
  3. 用的时候怎么拿?
  4. 能不能换(轮转)?
  5. 出事了能不能追责?

如果你只解决了第 1 个,那你只是“藏”,不是“管”。


二、Sealed Secrets:GitOps 党的“安全补丁”

1️⃣ 它解决的,其实只有一个问题

Sealed Secrets 的核心思想很简单:

让 Secret 可以放心地进 Git。

你把明文 Secret 用公钥加密,变成一个 SealedSecret,提交到仓库,只有集群里的 controller 才能解。

一个典型流程大概是这样:

kubectl create secret generic db-secret \
  --from-literal=password=123456 \
  --dry-run=client -o yaml \
| kubeseal --cert mycert.pem -o yaml \
> sealed-secret.yaml

提交的,是加密后的 YAML。

2️⃣ 它适合谁?

我说句很实在的:

Sealed Secrets = GitOps 场景的最低安全保障。

适合这些情况:

  • K8s 为主
  • 配置即代码
  • 秘密变化不频繁
  • 团队不大,流程简单

3️⃣ 它的“硬伤”

你一定要清楚它不擅长什么

  • ❌ 不做动态密钥
  • ❌ 不做租约(Lease)
  • ❌ 不做自动轮转
  • ❌ 几乎没有审计能力

说白了:

Sealed Secrets 管的是“交付安全”,不是“运行安全”。


三、Vault:把“秘钥”当一等公民

如果你问我:

“哪一个工具,是真正从设计上把机密当回事?”

我会毫不犹豫地说:Vault

1️⃣ Vault 的思路,和前两个完全不一样

Vault 的核心不是“存密码”,而是:

尽量不让你长期持有密码。

比如数据库密码,Vault 可以这样玩:

  • 应用请求 Vault
  • Vault 动态生成一个数据库账号
  • 给它 1 小时有效期
  • 到期自动回收
vault read database/creds/app-role

你甚至不知道真实的 root 密码是什么

2️⃣ Vault 强在哪?

我个人认为,Vault 的价值在这几件事上:

  • 动态 Secret(DB、MQ、云账号)
  • 明确的访问控制(Policy)
  • 租约 & 自动过期
  • 完整的审计日志

这已经不是“工具”,而是:

一套完整的安全治理思维。

3️⃣ 但它也不轻

我得说点劝退的话:

  • 部署复杂
  • 运维成本高
  • 高可用方案不便宜
  • 团队要有安全认知

所以我常跟新人说一句:

Vault 很强,但你得配得上它。


四、云 KMS:省心,但别太天真

云厂商的 KMS,很多人一开始就被吸引了:

“不用自己运维,多好!”

确实,它有几个很明显的优点:

  • 高可用
  • 合规认证齐全
  • 跟云服务深度集成

典型用法大概是这样:

aws kms encrypt \
  --key-id alias/my-key \
  --plaintext fileb://secret.txt

1️⃣ 它最适合的场景

我会推荐云 KMS 用在:

  • 云原生环境
  • 和云服务强绑定(RDS、S3、ECS)
  • 合规压力大的行业
  • 不想自建安全基础设施

2️⃣ 但你要清醒一点

KMS 解决的本质是:

“密钥托管 + 加解密服务”

它通常:

  • ❌ 不负责 Secret 生命周期
  • ❌ 不理解你的业务
  • ❌ 动态能力有限

很多时候你还得自己造一层 Secret 管理。


五、放在一张桌子上说清楚

我给你一个不那么官方、但很真实的对比结论

维度 Sealed Secrets Vault 云 KMS
上手成本 ⭐⭐⭐⭐ ⭐⭐
运维复杂度
动态密钥 部分
审计能力
适合规模 中-大

六、我自己的真实建议

说点“经验换来的认知”。

1️⃣ 小团队,别一上来就 Vault

不是 Vault 不好,而是:

安全工具用不好,本身就是风险。

Sealed Secrets + 合理权限,已经能解决 70% 问题。


2️⃣ 中大型系统,一定要考虑“动态 Secret”

密码不轮转,迟早出事。

这是我踩坑踩出来的结论。


3️⃣ 不要迷信“云上天然安全”

云 KMS 很好,但安全责任不会因为你上云就消失


七、写在最后

机密管理这件事,本质上不是技术选型,而是一个态度问题:

你是把 Secret 当配置,
还是当资产?

如果你只是“藏”,
那迟早有一天会被挖出来。

如果你开始“管”,
那系统才算真的成熟了一点。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。