Ansichten:
Profilanwendbarkeit: Stufe 1
Die Kubernetes-API speichert Geheimnisse, die Dienstkontotoken für die Kubernetes-API oder Anmeldeinformationen sein können, die von Workloads im Cluster verwendet werden. Der Zugriff auf diese Geheimnisse sollte auf die kleinstmögliche Benutzergruppe beschränkt werden, um das Risiko einer Rechteausweitung zu verringern.
Unangemessener Zugriff auf Geheimnisse, die im Kubernetes-Cluster gespeichert sind, kann einem Angreifer zusätzlichen Zugriff auf den Kubernetes-Cluster oder externe Ressourcen ermöglichen, deren Anmeldedaten als Geheimnisse gespeichert sind.
Hinweis
Hinweis
Standardmäßig haben die folgende Liste von Prinzipalen get-Berechtigungen für secret-Objekte:
CLUSTERROLEBINDING                                     SUBJECT
TYPE                     SA-NAMESPACE
cluster-admin                                                   system:masters
Group
system:controller:clusterrole-aggregation-controller            clusterrole-
aggregation-controller ServiceAccount kube-system
system:controller:expand-controller                             expand-controller
ServiceAccount kube-system
system:controller:generic-garbage-collector                     generic-garbage-
collector ServiceAccount kube-system
system:controller:namespace-controller                          namespace-controller
ServiceAccount kube-system
system:controller:persistent-volume-binder                      persistent-volume-
binder ServiceAccount kube-system
system:kube-controller-manager                                  system:kube-controller-
manager User

Auswirkung

Es sollte darauf geachtet werden, den Zugriff auf Geheimnisse für Systemkomponenten, die diesen für ihren Betrieb benötigen, nicht zu entfernen.

Prüfung

Überprüfen Sie die Benutzer, die get, list oder watch-Zugriff auf secrets-Objekte in der Kubernetes-API haben.

Wiederherstellung

Wo möglich, entfernen Sie den Zugriff von get, list und watch auf secret-Objekte im Cluster.