説明
ファイルに監査ログを記録する場合は、--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 など他の監査出力も確認する必要があります。
- 変更後: ファイル出力先を指定します。記録には有効な監査ポリシー、書き込み権限、保持設定も必要です。