More Info:
Verifies that —use-service-account-credentials is set to true so each controller uses its own service account, enabling least-privilege RBAC for control loops.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, back up the existing manifest:
-
Open the controller manager manifest for editing:
-
In the
spec.containers[0].commandsection, ensure the following flag is present and set to true (add it if missing):Example snippet: -
Save and exit the editor. The kube-controller-manager static pod will be automatically restarted by the kubelet because the manifest under
/etc/kubernetes/manifestswas modified. -
Wait 30–60 seconds, then confirm the controller manager process is running with the correct flag:
-
Verify that the output includes
--use-service-account-credentials=truein the kube-controller-manager command line.
Using kubectl
Using kubectl
kubectl cannot modify the kube-controller-manager static pod manifest or its process flags, so this setting cannot be fixed via the Kubernetes API. To remediate, edit
/etc/kubernetes/manifests/kube-controller-manager.yaml directly on every control plane node as described in the Manual Steps section.Automation
Automation

