【ハシコープヴォルト】

HashiCorp Vault とは?

最終更新:
💡 パスワードや認証情報を一元管理する金庫

APIキー・パスワード・証明書などの機密情報(シークレット)を安全に管理するためのツール。暗号化・アクセス制御・監査ログを一元的に提供する。

📌 このページのポイント
アプリのシークレットを管理 アプリ等 Web バッチ CI/CD Vault 暗号化 ポリシー制御 監査:要設定 認証・要求 許可した情報 管理・発行する情報の例 静的情報 APIキー等 動的情報 期限・失効管理 証明書 TLS等
アプリの認証とポリシーに従って必要な情報を渡す。取得後の保護や、動的情報の期限・失効の運用も必要。
ひよこ ひよこ
Vaultって何を管理するの?パスワードマネージャーみたいなもの?
ペンギン先生 ペンギン先生
主にアプリケーションやシステムが使う認証情報を管理するものだよ。個人がログイン用パスワードを保存する用途とは、必要な機能や使い方が違うんだ。アプリケーションが使うAPIキー、データベースのパスワード、TLS証明書など、システム全体のシークレットを一元管理するツールなんだ。
ひよこ ひよこ
設定ファイルにパスワード書いちゃダメなの?
ペンギン先生 ペンギン先生
ソースコードへの埋め込みはGitへの混入などのリスクがあるね。Vaultから実行時に取得すれば埋め込みを減らせる。ただし取得後のメモリや生成ファイル、ログにも秘密情報を漏らさない設計が必要だよ。
ひよこ ひよこ
動的シークレットって何?普通のパスワードと何が違うの?
ペンギン先生 ペンギン先生
必要に応じて発行し、リースの期限や失効操作で無効化する認証情報だよ。例えば短期間のDBユーザーを作れる。ただし有効な間に漏れれば悪用されるし、失効処理が正常に行える運用も必要なんだ。
ひよこ ひよこ
どうやってアクセスを制御するの?
ペンギン先生 ペンギン先生
アプリごとに読み取りや発行を許す範囲をポリシーで制限できるよ。監査デバイスを有効にすると、例外を除くAPIの要求・応答を記録できる。新しいクラスタでは監査は無効なので、設定が必要だね。
ひよこ ひよこ
大企業じゃないと使わないよね?
ペンギン先生 ペンギン先生
規模だけでは決まらないよ。KubernetesのVault Agent Injectorを使えば、共有メモリボリュームへシークレットを配布できる。ただし認証・ポリシー設定や配布後の保護、Vault自体の運用は必要なんだ。
もっと詳しく知りたい人へ

KVに保存したパスワードも期限が来ると自動失効する?

動的シークレットのリースと、KVに保存する任意の秘密情報は別。KVは同じ仕組みのリースを発行しないため、保存した外部サービスのパスワードが自動で無効になるとは限らない。更新と失効の方法を別途設計する。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Vault」って出てきたら「シークレットを安全に管理する金庫」と思えばだいたいOK!
📖 おまけ:英語の意味
「Vault」 = 金庫・保管庫
💬 Vaultは金庫・保管庫を意味する英単語。シークレットを管理するツールの名前だよ

参考資料

← 用語集にもどる