プロファイル適用性: レベル2
Kubernetesはシークレットをデータボリュームまたは環境変数としてマウントすることをサポートしています。環境変数シークレットの使用を最小限に抑えてください。
アプリケーションコードがその環境をログアウトすることは比較的一般的です (特にエラーが発生した場合)。これには環境変数として渡された秘密の値が含まれるため、ログにアクセスできるユーザやエンティティに秘密が簡単に露出する可能性があります。
![]() |
注意デフォルトでは、シークレットは定義されていません。
|
影響
環境変数の形式でシークレットを読み取ることを期待するアプリケーションコードは、修正が必要です。
監査
次のコマンドを実行して、シークレットから定義された環境変数を使用するオブジェクトへのレファレンスを見つけてください。
kubectl get all -o jsonpath='{range .items[?(@..secretKeyRef)]} {.kind} {.metadata.name} {"\n"}{end}' -A
修復
可能であれば、アプリケーションコードをリライトして、環境変数ではなく、マウントされたシークレットファイルからシークレットを読み取るようにしてください。