Ansichten:
Profilanwendbarkeit: Stufe 1 - Masterknoten
Legen Sie explizit eine öffentliche Schlüsseldatei für Dienstkonten auf dem Apiserver fest.
Standardmäßig verwendet der apiserver, wenn kein --service-account-key-file angegeben ist, den privaten Schlüssel aus dem TLS-Dienstzertifikat, um Service-Account-Token zu verifizieren. Um sicherzustellen, dass die Schlüssel für Service-Account-Token bei Bedarf rotiert werden können, sollte ein separates öffentliches/privates Schlüsselpaar für die Signierung von Service-Account-Token verwendet werden. Daher sollte der öffentliche Schlüssel dem apiserver mit --service-account-key-file angegeben werden.
Hinweis
Hinweis
Standardmäßig ist das Argument --service-account-key-file nicht festgelegt.

Auswirkung

Der entsprechende private Schlüssel muss dem Controller-Manager bereitgestellt werden. Sie müssen die Schlüsseldatei sicher verwalten und die Schlüssel gemäß der Schlüsselrotation-Richtlinie Ihrer Organisation rotieren.

Prüfung

Führen Sie den folgenden Befehl auf dem Control-Plane-Knoten aus:
ps -ef | grep kube-apiserver
Überprüfen Sie, ob das Argument --service-account-key-file existiert und entsprechend festgelegt ist.

Wiederherstellung

Bearbeiten Sie die API-Server-Podspezifikationsdatei /etc/kubernetes/manifests/kube-apiserver.yaml auf dem Steuerknoten und setzen Sie den Parameter --service-account-key-file auf die öffentliche Schlüsseldatei für Dienstkonten:
--service-account-key-file=<filename>