如何在Kubernetes中通过Service-Account-Token实现Pod运行时身份安全性的全面提升?
- 内容介绍
- 文章标签
- 相关推荐
本文共计689个文字,预计阅读时间需要3分钟。
核心是采用TokenRequest API+托管卷,取代传统的Secret+挂载方式。这能实现自动轮换、绑定节点、限制audience等关键安全功能,而非依赖长期有效的静态Token。
停用 Secret 挂载,启用 BoundServiceAccountTokenVolume
1.21 及以上版本默认开启该特性,无需额外配置;1.25+ 版本将彻底不再自动生成 ServiceAccount 对应的 Secret。确认方式:
- 检查 Pod 中是否还存在
/var/run/secrets/kubernetes.io/serviceaccount/token对应的 Secret 挂载(传统路径) - 查看 Pod spec 中 volumeMounts 是否指向
service-account-token类型的 projected volume - 运行
kubectl get sa <name> -o yaml,若输出中无secrets:字段,说明已切换至投影模式
控制 Token 生命周期与自动刷新
投射卷方式下 Token 默认有效期为 1 小时,由 kubelet 在过期前主动轮换。
本文共计689个文字,预计阅读时间需要3分钟。
核心是采用TokenRequest API+托管卷,取代传统的Secret+挂载方式。这能实现自动轮换、绑定节点、限制audience等关键安全功能,而非依赖长期有效的静态Token。
停用 Secret 挂载,启用 BoundServiceAccountTokenVolume
1.21 及以上版本默认开启该特性,无需额外配置;1.25+ 版本将彻底不再自动生成 ServiceAccount 对应的 Secret。确认方式:
- 检查 Pod 中是否还存在
/var/run/secrets/kubernetes.io/serviceaccount/token对应的 Secret 挂载(传统路径) - 查看 Pod spec 中 volumeMounts 是否指向
service-account-token类型的 projected volume - 运行
kubectl get sa <name> -o yaml,若输出中无secrets:字段,说明已切换至投影模式
控制 Token 生命周期与自动刷新
投射卷方式下 Token 默认有效期为 1 小时,由 kubelet 在过期前主动轮换。

