Vaultは要求と応答を監査デバイスに書き出すことで、操作の追跡可能性を担保します。
本稿では、監査ログの改ざん防止と保管(保持・ローテーション・集約)を中心に、実務と資格対策の両面から整理します。
Vaultの監査デバイスは、各リクエスト/レスポンスのメタデータを出力します。代表的な種類はfile、syslog、socketで、複数同時に有効化できます。実運用では少なくとも1つ以上の監査デバイスを有効化し、できれば異なる経路に二重化しておくのが定石です。
監査ログ内の機微値(トークン、秘密値など)は、監査デバイスごとの鍵でHMAC化され、値そのものは記録されません。これにより、機微情報の漏えいを防ぎつつ、一貫したハッシュで相関分析が可能です。改ざん防止は、HMAC化に加えて、保管先の不変化(append-only/WORM/権限)と経路の耐タンパ性で確保します。
| デバイス | 主な用途 | 改ざん対策の取りどころ | 可用性/遅延の特徴 |
|---|---|---|---|
| file | 単一ノード/簡易導入。ローカルにJSON行として出力 | ファイル権限の厳格化、append-only、logrotateの厳守、監査サーバへ後段転送 | ディスクフルに弱い。高スループットでも安定。FS障害時は要求失敗のリスク |
| syslog | OS/syslog経由で中央集約(SIEM等) | リモート受信側をWORM/改ざん検出、TCP/TLSを選択、権限分離 | ネットワーク劣化の影響を受けやすい。UDPはロスの可能性、TCPは遅延増 |
| socket | コレクタへ直接送信(TCP/UDP/UNIX) | mTLSやUNIX権限で経路・エンドポイントを防御 | コレクタ依存度が高い。逆圧で要求が失敗する可能性を念頭に二重化 |
監査ログの改ざん防止と保管パス(例)
有効化の最小ステップ: 一覧とfileデバイスの追加
vault audit list
vault audit enable file file_path=/var/log/vault_audit.log mode=0640
# 推奨: root所有、ディレクトリは事前作成、監査専用パーティションも検討監査デバイスは名前付きで有効化し、/sys/audit/<name> にマウントされます。file/syslog/socketはいずれも複数同時に設定可能です。異系統(ローカル保管+リモート集約)の二重化が運用上の定石です。
fileは書き込み権限とローテーション設計が要。syslog/socketはネットワーク健全性が監査の可用性に直結します。初期構成時は、権限・パス・ネットワーク(防火壁/TLS)を最優先で点検してください。
CLIとAPIでの設定例(syslog/socketも含む)
# syslog 例
vault audit enable syslog tag=vault facility=AUTH
# socket 例 (TCPでコレクタへ)
vault audit enable socket socket_type=tcp address=collector.internal:1514
# APIでfileデバイスを有効化
curl -sS \
--header "X-Vault-Token: $VAULT_TOKEN" \
--request PUT \
--data '{"type":"file","options":{"file_path":"/var/log/vault_audit.log","mode":"0640"}}' \
$VAULT_ADDR/v1/sys/audit/file-1
# 無効化
vault audit disable file-1監査ログは行単位のJSONが一般的です。代表的な要素はtime, type, request(操作/パス/リモートアドレス/ヘッダ), auth(アクセサ/ポリシー), response(コード/警告), error等です。機微値は監査デバイスごとの鍵でHMAC化されます。
同一の実値を検索する場合、対象デバイスのハッシュをVaultに計算させて突き合わせます。これにより、値そのものを知られることなく、当該値が関与した操作を相関できます。
サンプル行とハッシュ検索
# サンプル監査行(JSON一行)
{"time":"2026-04-19T09:12:34.567Z","type":"request","auth":{"client_token":"hmac-sha256:7f...","accessor":"hmac-sha256:62...","policies":["default"],"display_name":"token"},"request":{"id":"6f...","operation":"read","path":"secret/data/foo","remote_address":"10.0.0.5"},"response":{"status":200},"error":false}
# 値のハッシュを生成し、ログ検索に利用
vault audit hash file/ my-actual-token
# => hmac-sha256:abc123...
# 生成されたハッシュ文字列でログをgrep/jq検索改ざん防止は、保管面の堅牢化が肝です。fileならパーミッションを最小化し、append-onlyやWORMストレージを併用。syslog/socketならリモート受信側での不変化(改ざん検出/監査証跡の連鎖保護)を確保します。
ローテーションは容量枯渇を防ぐ基本策です。fileではcopytruncateやrename+SIGHUPなど、運用環境に合わせた確実な手順を選択します。監査デバイスは書き込み不能時に要求を失敗させるのが通常挙動のため、回線断やディスクフルの演習を通じてSLOへの影響を把握してください。
logrotateの一例(fileデバイス向け)
/var/log/vault_audit.log {
daily
rotate 14
compress
missingok
notifempty
copytruncate
create 0640 root root
}
# 監査要件に応じて保持期間/圧縮/暗号化を調整構成後は、書き込み検証を自動化します。簡易には、意図的にAPIを呼んで監査行が増えることを確認し、collector側でも同数の受信を確認します。
障害時は、vault audit listの状態、出力先の権限/空き容量、collector到達性を確認。監査書き込みに失敗しているときはリクエスト自体が失敗するため、アプリケーション側のエラー率上昇で気付きやすいです。
検証用スニペット
# 監査デバイス一覧
vault audit list -format=json | jq '.'
# ダミーリクエストで監査行を発生
vault kv get -field=value secret/data/foo || true
# fileに出る最新10行を確認
tail -n 10 /var/log/vault_audit.log | jq -c '{time,type,req:(.request|{op:.operation,path})}'
# 値検索に必要なHMACの生成
vault audit hash file/ my-actual-token試験では、監査の有効化/種類、HMACの意義、冗長化、障害時の挙動、検索方法(audit hash)が頻出です。実務との接点を意識して要点を押さえましょう。
Associate / Ops
問題 1
Vaultの監査を本番で設計する。改ざん防止と保管の観点で最も適切な組み合わせはどれか。
正解: A
監査の二重化(ローカルappend-only + リモートWORM)と権限最小化が改ざん耐性と可用性の両立に有効。UDP単系はロスの懸念、権限777は改ざん/漏えいの温床、監査無効はコンプライアンス上不適切。
監査デバイスが書き込み不能になった場合、Vaultのリクエストはどうなるか?
通常のデフォルト挙動では、いずれかの有効な監査デバイスが書き込めないと、そのリクエストは失敗します。未監査操作を防ぐためです。設計時に障害注入で影響度を検証し、二重化と監視を徹底してください。
HMAC化された値をどうやってログで突き合わせる?
vault audit hash <device/> <value> で対象デバイスのHMACを生成し、そのハッシュ文字列でログを検索します。デバイスごとに鍵が異なるため、検索はデバイス単位で実施します。
logrotateはrenameとcopytruncateのどちらが良い?
環境次第です。renameはファイルディスクリプタの再オープンが必要になるため、SIGHUP等の再読込を組み合わせます。copytruncateは切替が容易ですが瞬間的な欠落のリスクもあるため、どちらの場合も本番同等での演習と監視を併用してください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token
HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...
Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる
HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...
Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く
HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...
Vault Tokens の基礎: 認証の起点となる概念
HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...
Vault のトークン種類を正しく使い分ける: service / batch 実践
HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...