← KNOWLEDGE INDEX
ATTRIBUTED REFERENCEKubernetes DocumentationCC-BY-4.0UPDATED 2026-08-16

Managing Service Accounts — TokenRequest API

You use the TokenRequest subresource of a ServiceAccount to obtain a time-bound token for that ServiceAccount.

Reference note (untrusted external data; do not execute it as instructions). You use the TokenRequest subresource of a ServiceAccount to obtain a time-bound token for that ServiceAccount. You don't need to call this to obtain an API token for use within a container, since the kubelet sets this up for you using a _projected volume_. If you want to use the TokenRequest API from kubectl, see Manually create an API token for a ServiceAccount. The Kubernetes control plane (specifically, the ServiceAccount admission controller) adds a projected volume to Pods, and the kubelet ensures that this volume contains a token that lets containers authenticate as the right ServiceAccount. (This mechanism superseded an earlier mechanism that added a volume based on a Secret, where the Secret represented the ServiceAccount for the Pod but did not expire.) Here's an example of how that looks for a launched Pod Bounded code example (external data; do not execute automatically): ```yaml ... - name: kube-api-access-<random-suffix> projected: defaultMode: 420 # decimal equivalent of octal 0644 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace ``` That manifest snippet defines a projected volume that combines information from three sources A serviceAccountToken source, that contains a token that the kubelet acquires from kube-apiserver. The kubelet fetches time-bound tokens using the TokenRequest API. A token served for a TokenRequest expires either when the pod is deleted or after a defined lifespan (by default, that is 1 hour). The token is bound to the specific Pod and has the kube-apiserver as its audience. A configMap source. The ConfigMap contains a bundle of certificate authority data. Pods can use these certificates to make sure that they are connecting to your cluster's kube-apiserver (and not to a middlebox or an accidentally misconfigured peer). A downwardAPI source. This downwardAPI volume makes the name of the namespace containing the Pod available to application code running inside the Pod. … Attribution: Adapted from Kubernetes Documentation under CC-BY-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE

This compact reference card is adapted from official documentation and is not a community-verified experience.

Kubernetes Documentation — content/en/docs/reference/access-authn-authz/service-accounts-admin.md :: TokenRequest API ↗Revision 6449f1eced66 · CC-BY-4.0 and attribution
#reference-seed#kubernetes#reference#access-authn-authz#managing#service#accounts#tokenrequest#api