Skip to main content

More Info:

Restrict kubelet nodes to reading only objects associated with them.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, open the kube‑apiserver static pod manifest for editing:
  2. In the spec.containers[0].command list, locate any existing --authorization-mode= entry. Edit it so that it includes Node (and typically RBAC), for example:
    If there is no --authorization-mode line, add one under the other - -- arguments.
  3. Save and exit the editor. The kube-apiserver static pod will be restarted automatically by kubelet when the manifest file changes. Be aware this briefly restarts the API server on this node.
  4. After 30–60 seconds, verify the kube-apiserver process on this control plane node now includes --authorization-mode=Node in its arguments:
  5. Inspect the output and confirm that the kube-apiserver command line contains an --authorization-mode= flag whose value includes Node (for example, --authorization-mode=Node,RBAC). Repeat these steps on every control plane node.
kubectl cannot modify the kube-apiserver static pod manifest or its process flags, so this finding cannot be fixed via the Kubernetes API. The required change must be made directly on each control plane node in /etc/kubernetes/manifests/kube-apiserver.yaml; follow the Manual Steps section to perform and verify the fix.

Additional Reading: