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