Skip to main content

More Info:

Verifies that —authorization-mode includes RBAC so fine-grained role-based access control governs API requests.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, back up the existing manifest:
  2. On every control plane node, open the API server manifest for editing:
  3. In the spec.containers[0].command list, locate any existing --authorization-mode= entry.
    • If present, edit it so that it includes RBAC, for example:
    • If it is not present, add a new line under the other -- flags:
    Save and exit. Editing this static pod manifest will automatically restart the kube-apiserver.
  4. On every control plane node, wait for the kube-apiserver container to restart and become Running:
    Ensure the status shows Running.
  5. On any machine with kubectl access, verify that the API server is responding:
    Confirm it returns ok.
  6. On every control plane node, verify that the running process includes RBAC in --authorization-mode:
    Confirm the output shows --authorization-mode=Node,RBAC (or another value that includes RBAC).
kubectl cannot modify the kube-apiserver static pod manifest or its process flags, so it cannot be used to add RBAC to --authorization-mode. To remediate this finding, you must edit /etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node; see the Manual Steps section for exact instructions.