kubernetes - 如何管理 K8s 中服务帐户 token 的使用?

标签 kubernetes cloud amazon-iam hashicorp-vault

当在 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/

相关文章:

amazon-web-services - 我可以在 S3 存储桶策略中使用 Cognito 用户池组吗?

node.js - 用户 : anonymous is not authorized to perform: es:ESHttpPost on resource:

kubernetes - 使用 Kubernetes 编排从部署的微服务访问微服务端点

kubernetes - 将 redis-sentinel 连接到 Kubernetes 上的 redis-master

ubuntu - 为 Sahara 中的插件构建镜像时出错 (devStack Pike) ERROR : venv: commands failed

windows - 我无法打开现有的 windows azure 项目

c# - 来自 .NET SDK 的 AttachUserPolicy

kubernetes - 无法使用 Hyper-V 在 Windows 10 上启动 minikube

kubernetes - 无法将本地 docker 图像与 docker desktop kubernetes 一起使用

google-app-engine - GAE/J 请求日志格式分解