CertGrid CertGrid
Hands-on Lab·Kubernetes and Cloud Native Security Associate

Node Authorization and NodeRestriction

A kubelet authenticates to the apiserver as `system:node:<name>` in the group `system:nodes`, and what that identity may read is decided per request rather than by a role. This guide reads the certificate and then shows why the obvious way to audit it gives the wrong answer.

Cluster Component Security Guide 13 of 42 Intermediate

Written against the versions above. kubeadm issues the kubelet client certificate with a one-year lifetime and enables rotation. The Node authorizer is the first entry in the apiserver's `--authorization-mode=Node,RBAC`.

The cka5001 cluster: one control plane and 3 schedulable workers, on Cilium.
Server NameIP AddressOSRolesCPURAMHDD
CKA5001192.168.0.41Ubuntu 26.04 LTSControl Plane Node (tainted NoSchedule)2 Core4 GB50 GB
CKA5001-NODE01192.168.0.42Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA5001-NODE02192.168.0.43Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA5001-NODE03192.168.0.44Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. The certificate, and what it claims to be

  2. What the obvious audit says, and why it is wrong

Official sources