Ansichten:
Profilanwendbarkeit: Stufe 1
Das default-Dienstkonto sollte nicht verwendet werden, um sicherzustellen, dass die den Anwendungen gewährten Rechte leichter geprüft und überprüft werden können.
Kubernetes stellt ein default-Servicekonto bereit, das von Cluster-Workloads verwendet wird, wenn dem Pod kein spezifisches Servicekonto zugewiesen ist. Wenn der Zugriff auf die Kubernetes-API von einem Pod aus erforderlich ist, sollte ein spezifisches Servicekonto für diesen Pod erstellt und diesem Servicekonto Rechte zugewiesen werden. Das Standard-Servicekonto sollte so konfiguriert werden, dass es kein Servicekonto-Token bereitstellt und keine expliziten Rechtezuweisungen hat.
Hinweis
Hinweis
Standardmäßig erlaubt das default-Dienstkonto, dass sein Dienstkontotoken in Pods in seinem Namespace eingebunden wird.

Auswirkung

Alle Workloads, die Zugriff auf die Kubernetes-API benötigen, erfordern die Erstellung eines expliziten Servicekontos.

Prüfung

Überprüfen Sie für jeden Namespace im Cluster die Rechte, die dem Standard-Servicekonto zugewiesen sind, und stellen Sie sicher, dass ihm keine Rollen oder Clusterrollen zugewiesen sind, außer den Standardrollen. Stellen Sie außerdem sicher, dass die Einstellung automountServiceAccountToken: false für jedes Standard-Servicekonto vorhanden ist.

Wiederherstellung

Erstellen Sie explizite Dienstkonten, wenn ein Kubernetes-Workload spezifischen Zugriff auf den Kubernetes-API-Server benötigt. Ändern Sie die Konfiguration jedes Standarddienstkontos, um diesen Wert einzuschließen:
automountServiceAccountToken: false
Automatische Behebung für das Standardkonto:
kubectl patch serviceaccount default -p 
$'automountServiceAccountToken: false'