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