Ansichten:
Profilanwendbarkeit: Stufe 2
Kubernetes unterstützt das Einbinden von Geheimnissen als Datenvolumen oder als Umgebungsvariablen. Minimieren Sie die Verwendung von Geheimnissen als Umgebungsvariablen.
Es ist durchaus üblich, dass Anwendungs-Code seine Umgebung abmeldet (insbesondere im Falle eines Fehlers). Dies umfasst alle geheimen Werte, die als Umgebungsvariablen übergeben werden, sodass Geheimnisse leicht für jeden Benutzer oder jede Entität, die Zugriff auf die Protokolle hat, offengelegt werden können.
Hinweis
Hinweis
Standardmäßig sind Geheimnisse nicht definiert.

Auswirkung

Anwendungscode, der erwartet, Geheimnisse in Form von Umgebungsvariablen zu lesen, müsste geändert werden.

Prüfung

Führen Sie den folgenden Befehl aus, um Verweise auf Objekte zu finden, die Umgebungsvariablen verwenden, die aus Geheimnissen definiert sind.
kubectl get all -o jsonpath='{range .items[?(@..secretKeyRef)]} {.kind} 
{.metadata.name} {"\n"}{end}' -A

Wiederherstellung

Wenn möglich, schreiben Sie den Anwendungscode so um, dass Geheimnisse aus eingebundenen Geheimdateien gelesen werden, anstatt aus Umgebungsvariablen.
Hinweis
Hinweis
Das Einbinden von Geheimnissen als Volumes hat den zusätzlichen Vorteil, dass Geheimniswerte aktualisiert werden können, ohne den Pod neu zu starten.