Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1012

服务账户令牌(Service Account Token)

服务账户令牌(Service Account Token) 是什么?

服务账户令牌(Service Account Token)挂载在 Kubernetes Pod 中的 JWT 凭据,用于让工作负载向 API Server 以及信任集群身份提供方的其他服务进行认证。


Kubernetes ServiceAccount 代表由 Pod 使用的非人类身份。其关联的令牌是经签名的 JSON Web Token,在新版本中通过 TokenRequest API 投射到 Pod 的 /var/run/secrets/kubernetes.io/serviceaccount/token,用于调用 API Server。Token 中包含 audience、过期时间、命名空间、Pod 等声明。由于令牌通过 RBAC 授权访问,一旦泄露后果严重:持有该令牌的攻击者可在 role binding 授权的范围内列出、修改甚至删除集群资源。最佳实践是使用绑定的、限定 audience 的短期令牌,在不需要时禁用自动挂载,将 role binding 配置为最小权限,并通过 OIDC、Workload Identity 或 IRSA 将工作负载身份联邦到云 IAM。

示例

  1. 01

    Pod 通过 IRSA 使用 audience 为 "sts.amazonaws.com" 的投射 token 申请扮演一个 AWS IAM 角色。

  2. 02

    攻击者逃逸出容器后读取 SA token,并以此进入 Kubernetes API。

常见问题

服务账户令牌(Service Account Token) 是什么?

挂载在 Kubernetes Pod 中的 JWT 凭据,用于让工作负载向 API Server 以及信任集群身份提供方的其他服务进行认证。 它属于网络安全的 云安全 分类。

服务账户令牌(Service Account Token) 是什么意思?

挂载在 Kubernetes Pod 中的 JWT 凭据,用于让工作负载向 API Server 以及信任集群身份提供方的其他服务进行认证。

服务账户令牌(Service Account Token) 是如何工作的?

Kubernetes ServiceAccount 代表由 Pod 使用的非人类身份。其关联的令牌是经签名的 JSON Web Token,在新版本中通过 TokenRequest API 投射到 Pod 的 /var/run/secrets/kubernetes.io/serviceaccount/token,用于调用 API Server。Token 中包含 audience、过期时间、命名空间、Pod 等声明。由于令牌通过 RBAC 授权访问,一旦泄露后果严重:持有该令牌的攻击者可在 role binding 授权的范围内列出、修改甚至删除集群资源。最佳实践是使用绑定的、限定 audience 的短期令牌,在不需要时禁用自动挂载,将 role binding 配置为最小权限,并通过 OIDC、Workload Identity 或 IRSA 将工作负载身份联邦到云 IAM。

如何防御 服务账户令牌(Service Account Token)?

针对 服务账户令牌(Service Account Token) 的防御通常结合技术控制与运营实践,详见上方完整定义。

服务账户令牌(Service Account Token) 还有哪些其他名称?

常见的别称包括: ServiceAccount Token, 投射的 SA Token。

相关术语