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.
![]() |
HinweisStandardmäß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.
![]() |
HinweisDas Einbinden von Geheimnissen als Volumes hat den zusätzlichen Vorteil, dass Geheimniswerte
aktualisiert werden können, ohne den Pod neu zu starten.
|