Kubernetes 監査ログの保存期間設定の確認

監査記録の実際の保存期間を、調査と運用の要件に合わせてください。

説明

kube-apiserver の --audit-log-maxage は、ローテーションした監査ログファイルの最大保存日数を指定します。0 は経過日数による削除を制限せず、省略時は実行バージョンのデフォルト値が使われます。短い正の値では、必要な過去の記録が早く削除される場合があります。

30 日は保存方針の例であり、すべての環境の必須値や最低保存期間の保証ではありません。ファイル数の制限、ログ量、外部の保存方針も実際の保存期間に影響します。

想定される影響

  • 調査に必要な時点の監査記録を取得できない場合があります。
  • 長すぎるローカル保存は、容量や機密情報の管理負担を増やす場合があります。

対処方法

  • 調査・保存要件に合わせて --audit-log-maxage を決め、実行バージョンのデフォルト値を確認してください。30 日間の保存が必要なら、ファイル数やサイズの制限で先に削除されないか確認してください。
  • 監査ポリシーとファイルの保存先を設定し、ローテーション、外部収集、容量、記録の取得を試してください。マネージド制御プレーンでは、提供元の監査ログ保存設定を使ってください。

例

v1.30.0 の引数だけを比較する既存の抜粋です。実際の監査ポリシー、--audit-log-path、必要なマウントと他の API サーバー設定は省略しています。

変更前

yaml
apiVersion: v1
kind: Pod
metadata:
  name: kube-apiserver
spec:
  containers:
    - name: kube-apiserver
      image: registry.k8s.io/kube-apiserver:v1.30.0
      command:
        - kube-apiserver
      args:
        - --audit-log-maxage=26

ローテーションしたファイルの経過日数の基準を 26 日にしています。必要な保存期間と比較してください。

変更後

yaml
apiVersion: v1
kind: Pod
metadata:
  name: kube-apiserver
spec:
  containers:
    - name: kube-apiserver
      image: registry.k8s.io/kube-apiserver:v1.30.0
      command:
        - kube-apiserver
      args:
        - --audit-log-maxage=30

基準を 30 日に延ばします。他の削除条件により、すべての記録が 30 日間残るとは限りません。

参考資料