Hands-on Lab·Kubernetes and Cloud Native Security Associate
Projected ServiceAccount Tokens
ServiceAccount tokens changed shape in 1.24 and most material has not caught up. This guide requests one, decodes it, and then uses it against the apiserver by hand to see authentication and authorization act separately.
Security Fundamentals Guide 19 of 42 Intermediate
- Kubernetesapiserver v1.36.4, kubelet v1.36.3
- Runtimecontainerd 2.2.6
- CNICilium 1.18.1 - tunnel/VXLAN, with Hubble relay and UI
- Host OSUbuntu 26.04 LTS, kernel 7.0.0-29
- Built withkubeadm v1.36.3 - podSubnet 10.244.0.0/16, serviceSubnet 10.96.0.0/12
- TimeAbout 16 min
- Reviewed25 August 2026
Written against the versions above. TokenRequest API, stable since 1.22 and the default since 1.24. Legacy non-expiring Secret-based tokens still work if one exists, but nothing creates them automatically.
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA5001 | 192.168.0.41 | Ubuntu 26.04 LTS | Control Plane Node (tainted NoSchedule) | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE01 | 192.168.0.42 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE02 | 192.168.0.43 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE03 | 192.168.0.44 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
Before you start
- guide 18 - the identity and Role this token uses.
-
Ask for a token, and look inside it
-
Use it by hand, twice