Profilanwendbarkeit: Stufe 1
Das
Standard-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
Standard-Servicekonto bereit, das von Cluster-Workloads verwendet wird, bei denen kein spezifisches
Servicekonto dem Pod zugewiesen ist. Wenn von einem Pod aus auf die Kubernetes-API
zugegriffen werden muss, sollte ein spezifisches Servicekonto für diesen Pod erstellt
und diesem Servicekonto Rechte zugewiesen werden.Das Standarddienstkonto sollte so konfiguriert sein, dass es kein Dienstkontotoken
bereitstellt und keine expliziten Rechtezuweisungen hat.
HinweisStandardmäß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 Servicekonten, 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'
