More Info:
The kubelet —authorization-mode must not be AlwaysAllow, which would authorize every request. Use Webhook so requests are properly authorized.Risk Level
CriticalAddress
SecurityCompliance Standards
- CIS AKS
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
- On every worker node, back up the existing kubelet config file:
- On every worker node, edit
/var/lib/kubelet/config.yamland set the authorization mode toWebhook(create the block if it does not exist). For example:
authorization: block, instead open it in an editor and change only the mode: line to mode: Webhook.)- If the worker node also sets kubelet flags via systemd, ensure
--authorization-modeis not set toAlwaysAllow. On each worker node:
- On every worker node, reload systemd and restart kubelet (this restarts the kubelet process and may briefly impact node readiness):
- On every worker node, verify kubelet is no longer using
AlwaysAllow:
kubelet command line does not contain --authorization-mode=AlwaysAllow and, if present, uses --authorization-mode=Webhook.Using kubectl
Using kubectl
kubectl cannot modify kubelet host-level configuration such as
/var/lib/kubelet/config.yaml or systemd units on worker nodes. Make the change directly on each worker node as described in the Manual Steps section.Automation
Automation

