为什么存在“ServiceAccount”,但普通用户却没有这样的实体?

Why `ServiceAccount` exists, but there is no such entity for the regular human user?

在管理与 Kubernetes 语义连接的实体时,让 Kubernetes 管理它们是有意义的。 Kubernetes 将 ServiceAccount 作为一种资源种类进行管理,但对人类用户或组没有类似的种类。

我想知道这背后的设计决定是什么。我知道 ServiceAccount 会在创建时生成一个令牌,用于进一步访问,并且要以人类用户身份访问集群,您需要一个带有 public 密钥的配置文件,该密钥由 Kubernetes 的 CA 签名。

似乎不​​一致,为什么不创建类似的资源类型,比如 HumanAccountAccount 并在创建时提供 public 键(public 键是一种即使在 yaml 清单中的普通测试中也可以安全存储),以便 Kubernetes 对其进行签名并从那时起接受来自用户的连接?

我知道证书签名请求需要得到管理员的批准。也许这就是原因?

感谢任何提示或见解!

实际有User entities in RBAC, but kubernetes delegates the instantiation of those to either the CN field of mTLS authentication, or the sub claim of OIDC, or in a very customized situation one can provide that via HTTP headers