Audit Log の出力先が未設定

API 監査イベントを記録・保持する出力先を確認してください。

説明

ファイルに監査ログを記録する場合は、--audit-log-path で出力先を指定する必要があります。監査イベントを Webhook で送信する構成もあるため、ファイルのパスがないだけで記録が一切ないとは判断できません。有効な出力先がなければ、誰が API 要求を行ったか追跡しにくくなります。

監査ログはインシデント対応や運用監査の基礎資料です。出力先を指定するだけでなく、実際に収集・保持されることを確認してください。

想定される影響

  • インシデント調査で API 要求の履歴が不足する場合があります。
  • 権限の悪用や設定変更の経緯を追跡しにくくなります。
  • 監査や運用記録の要件を満たせない場合があります。

対処方法

  • ファイル出力には --audit-log-path と書き込み可能な永続ストレージを設定してください。Webhook を使う場合は受信と保持を確認してください。
  • ログを収集、保持、監視の対象に含めてください。
  • 監査ポリシーと出力設定を合わせて確認し、テスト要求が実際に記録されるか確認してください。

例

ログパスの引数を比較する既存の例です。古いイメージを実際のクラスターのバージョンに合わせ、そのバージョンで必要な監査ポリシーとログ保存用ボリュームを別途設定してください。

変更前

yaml
apiVersion: v1
kind: Pod
metadata:
  name: command-demo
spec:
  containers:
    - name: command-demo-container
      image: gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
      command: ["kube-apiserver"]
      args: [""]

変更後

yaml
apiVersion: v1
kind: Pod
metadata:
  name: command-demo
spec:
  containers:
    - name: command-demo-container
      image: gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
      command: ["kube-apiserver"]
      args: ["--audit-log-path=path/to/log"]

補足:

  • 変更前: ファイル出力先がありません。Webhook など他の監査出力も確認する必要があります。
  • 変更後: ファイル出力先を指定します。記録には有効な監査ポリシー、書き込み権限、保持設定も必要です。

参考資料