当在 Kubernetes 中创建 ServiceAccount 时,也会创建一个 key 。此 secret 包含 ServiceAccountToken。该 token 可以在 CI 管道中使用,甚至可以在 kubectl 和任何其他访问集群的地方使用。 假设公司的一名开发人员为自己复制了这个 token (没有人知道),并且在他离开公司后,他仍然可以访问我们的 Kubernetes 集群。我想限制他的访问。我怎样才能做到这一点?
最佳答案
从安全角度来看,使用服务帐户通过 kubectl 或 CI/CD 系统从集群外部与 kubernetes 集群交互并不是最好的方法。你应该使用 authenticating proxy其中短期 JWT token 的生成和轮换被委托(delegate)给外部 OpenId/oAuth 投诉授权系统。
服务帐户只能在集群内运行的 Pod 中使用,您可以通过 RBAC 限制服务帐户的授权。角色和角色绑定(bind)。请记住,当前服务帐户 token 不会由 kubernetes 轮换。
关于kubernetes - 如何管理 K8s 中服务帐户 token 的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63577998/