gpt4 book ai didi

Kubernetes 的 secret 真的很 secret 吗?

转载 作者:行者123 更新时间:2023-12-04 01:05:01 27 4
gpt4 key购买 nike

当我开发一个API服务器时,我需要给API服务器一些账户信息,这些信息不应该给任何人看。K8s对这种情况推荐secret,所以我用了。

但我想知道这个 secret 是否真的是 secret 。 secret 只是 base 64“编码”文本,而不是“加密”。

当我看到如下所示的任意 secret 时,

namespace: ZGVmYXVsdA==

我可以通过解码轻松知道它的真正值(value)。

namespace: default

在这种情况下,secret真的对安全有帮助吗?我所知道的关于 secret 的安全优势是它是内存上的而不是节点上的文件系统。但我认为这不足以保证安全。

谢谢。

最佳答案

来自 Kubernetes Secrets documentation :

风险

  • 在API服务器中, secret 数据存储在etcd中(默认情况下,etcd数据不加密);所以:
    1. 管理员应为集群数据启用静态加密(需要 v1.13 或更高版本)。
    2. 管理员应将对 etcd 的访问限制为管理员用户。
    3. 管理员可能希望在不再使用时删除/粉碎 etcd 使用的磁盘。
    4. 如果在集群中运行 etcd,管理员应确保使用 SSL/TLS 进行 etcd 对等通信。
  • 如果您通过 list (JSON 或 YAML)文件配置 secret ,其中 secret 数据编码为 base64,则共享此文件或将其 checkin 源存储库意味着 secret 已泄露。 Base64编码不是一种加密方式,被认为等同于明文。
  • 应用程序在从卷中读取它后仍然需要保护它的值,例如不意外地记录它或将它传输给不受信任的一方。
  • 可以创建使用 secret 的 Pod 的用户也可以看到该 secret 的值。即使 API 服务器策略不允许该用户读取 secret ,用户也可以运行公开 secret 的 Pod。
  • 目前,任何在任何节点上拥有 root 权限的人都可以通过模拟 kubelet 从 API 服务器读取任何 secret 。计划的功能是仅将 secret 发送到实际需要它们的节点,以限制根漏洞利用对单个节点的影响。

同时查看精彩帖子 Can Kubernetes Keep a Secret? It all depends what tool you’re using ,特别是“Kubernetes plain Secrets 有什么问题?”部分..

我希望这回答了你的问题,但通常@Harsh Manvar 是正确的:你应该首先访问那个 secret 。

关于Kubernetes 的 secret 真的很 secret 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66777620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com