A GKE Cluster's Kubelet should only allow explicitly authorized requests

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Description

Kubelets can be configured to allow all authenticated requests (even anonymous ones) without needing explicit authorization checks from the apiserver. You should restrict this behavior and only allow explicitly authorized requests.

Remediation

Choose a remediation method from below. For both steps, a restart of the Kubelet service is required.

Kubelet config file

  1. Add the json below to this file: /etc/kubernetes/kubelet/kubelet-config.json
"authentication": { "webhook": { "enabled": true } }
"authorization": { "mode": "Webhook" }

Executable arguments

  1. Edit the kubelet service file on each worker node and ensure the below parameters are part of the KUBELET_ARGS variable string.
--authentication-token-webhook
--authorization-mode=Webhook