为什么存在“ServiceAccount”,但普通用户却没有这样的实体?
Why `ServiceAccount` exists, but there is no such entity for the regular human user?
在管理与 Kubernetes 语义连接的实体时,让 Kubernetes 管理它们是有意义的。 Kubernetes 将 ServiceAccount
作为一种资源种类进行管理,但对人类用户或组没有类似的种类。
我想知道这背后的设计决定是什么。我知道 ServiceAccount
会在创建时生成一个令牌,用于进一步访问,并且要以人类用户身份访问集群,您需要一个带有 public 密钥的配置文件,该密钥由 Kubernetes 的 CA 签名。
似乎不一致,为什么不创建类似的资源类型,比如 HumanAccount
或 Account
并在创建时提供 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
在管理与 Kubernetes 语义连接的实体时,让 Kubernetes 管理它们是有意义的。 Kubernetes 将 ServiceAccount
作为一种资源种类进行管理,但对人类用户或组没有类似的种类。
我想知道这背后的设计决定是什么。我知道 ServiceAccount
会在创建时生成一个令牌,用于进一步访问,并且要以人类用户身份访问集群,您需要一个带有 public 密钥的配置文件,该密钥由 Kubernetes 的 CA 签名。
似乎不一致,为什么不创建类似的资源类型,比如 HumanAccount
或 Account
并在创建时提供 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