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-Dienstkonto bereit, das von Cluster-Workloads verwendet wird, bei denen dem Pod kein spezifisches Dienstkonto 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 die entsprechenden Rechte gewährt werden.
Das Standarddienstkonto sollte so konfiguriert sein, dass es kein Dienstkontotoken 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 Standarddienstkonto 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'