Skip to main content

More Info:

Use individual service account credentials for each controller

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, back up the current manifest:
  1. Edit the controller manager manifest on that control plane node:
  1. In the spec.containers[0].command (or args) list, add or update the flag so it appears exactly as:
If a line with --use-service-account-credentials= already exists, change its value to true instead of adding a duplicate.
  1. Save the file and exit the editor. The kubelet on that control plane node will automatically detect the manifest change and restart the kube-controller-manager static pod; expect a brief controller-manager restart.
  2. After 30–60 seconds, verify the new flag is in effect on that control plane node:
Confirm the kube-controller-manager process command line includes:
kubectl cannot modify the kube-controller-manager static pod manifest or its process flags. This finding must be remediated by editing /etc/kubernetes/manifests/kube-controller-manager.yaml directly on every control plane node; see the Manual Steps section for exact instructions.
Usage (run on every control plane node):

Additional Reading: