Vaultは「短命な認証情報」「ポリシーベースの最小権限」「監査可能性」を中核に、アプリとデータの間に堅牢なセキュリティ境界を作るプロダクトです。認証方式とポリシー、Secrets Engine、リース管理が正しく組み合わさって初めて価値が立ち上がります。
本稿は資格対策(Associate / Operations)と現場実装の両方で役立つよう、試験に出やすい論点と運用設計のベストプラクティスを同時に解説します。公式ドキュメントの安定機能を前提に、実務での落とし穴も補足します。
Vaultの本質的な価値は、固定パスワードを排し、都度発行・自動失効する動的シークレットで横展開のリスクを断つ点にあります。認証(Auth Method)でワークロードの正当性を確立し、ポリシーで到達可能なパスと操作を限定、Secrets Engineで権限最小のクレデンシャルや暗号化サービス(Transit)を提供します。すべての操作はAudit Deviceで記録され、リース(TTL)で寿命管理されます。
Associate/Ops視点では、以下を正確に説明・操作できることが重要です。Auth Method(例: Kubernetes, AppRole, Cloud系)の使い分け、ポリシーのcapabilities(create, read, update, delete, list, sudo)とパス指定、Secrets Engine(KV v2, Database, Transitなど)の有効化と設定、リースの更新と失効、そして監査の有効化です。
| 観点 | 固定シークレット運用 | Vaultの動的シークレット | クラウドKMSのみ運用 |
|---|---|---|---|
| 発行方式 | 手動払い出し・長期共有 | オンデマンド発行・短TTL・自動失効 | 鍵管理のみ(アプリ側で秘密保持) |
| 権限境界 | 広域・複数システムで使い回しがち | ポリシーでパス制約・ロール別付与 | 権限はアプリに依存 |
| 失効・ローテーション | 人手・計画停止が必要な場合あり | リース失効・即時revokeで停止不要 | 鍵ローテは可能だが資格情報は別管理 |
| 監査可能性 | 残りにくい・粒度が荒いことが多い | API/CLI単位でフル監査 | KMS側は監査可、アプリ資格情報は別途 |
| 導入影響 | 初期コスト低いが運用リスク高 | 初期設計が必要だが運用安定・低リスク | 暗号化は強化されるが秘密配布は未解決 |
最小権限ポリシーとDB動的クレデンシャルの例(PostgreSQL)
# ポリシー(最小権限):DBのreadonlyロールのみ取得可
# file: readonly.hcl
path "database/creds/readonly" {
capabilities = ["read"]
}
# ポリシー登録
vault policy write app-readonly readonly.hcl
# Database Secrets Engine を有効化
vault secrets enable database
# 接続設定(管理者ユーザで接続)
vault write database/config/pg \
plugin_name=postgresql-database-plugin \
allowed_roles="readonly" \
connection_url="postgresql://{{username}}:{{password}}@db:5432/postgres?sslmode=disable" \
username="vaultadmin" \
password="s3cr3t"
# 動的ユーザ発行ルール(有効期限付きの読み取り専用)
vault write database/roles/readonly \
db_name=pg \
creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" \
default_ttl="1h" \
max_ttl="24h"
# アプリ側:付与されたトークンで資格情報を取得
VAULT_TOKEN=$APP_TOKEN vault read database/creds/readonlyVaultエンジニアは、設計(認証方式・ポリシー・Secrets Engineの選定)、構築(初期化・アンシール・HA構成)、運用(バックアップ・監査・ローテーション)、統制(レビュー・例外管理)を横断します。小規模ではSREが兼務し、大規模ではプラットフォームチームとセキュリティチームで分担されます。
キャリア形成では、Associateで基礎概念と安全な操作を固め、OpsでHA運用・バックアップ・監査・インシデント対応の型を身につけるのが近道です。周辺スキルとしてKubernetes、Terraform、主要DB、クラウドIAMも評価されます。
Auth Methodはワークロードの実在性を証明する入口です。KubernetesはServiceAccount JWTでポッド単位の識別、AppRoleはCI/バッチ向けのID/SecretID、クラウドAuthはIMDS連携でインスタンスアイデンティティを活用します。利用環境・更新容易性・運用者のスキルで選びます。
ポリシーはパスとcapabilitiesの組み合わせで最小権限を実現します。原則は読み取り専用の個別パス許可、ワイルドカードの最小化、管理操作(sudo)は限定トークンに分離。トークンは短TTL・必要に応じてperiodicで更新可能にします。
可用性はストレージ選定とクラスタ構成が肝です。多くのケースで統合ストレージ(Raft)による複数ノード構成がシンプルで扱いやすく、スナップショットで一貫性を保ったバックアップが可能です。ネットワークとストレージのレイテンシはクラスタ安定性に直結します。
バックアップは定期スナップショット取得と、復旧手順の反復演習まで含めて設計します。更新は互換性ノートを確認し、ローリングで行い、万一に備えたダウングレード手順とスナップショットを準備します。アンシール手順や鍵の保護、監査ログの保全も運用の中核です。
インシデント時は影響範囲を限定し、速やかに資格情報を無効化します。動的シークレットならリースID単位でrevoke、広範ならprefixで一括revokeが有効です。トークン流出時はそのトークンと子トークンを失効します。
機密配布はResponse Wrappingを使い、一次トークン(wrapping_token)だけを運搬。受領側でunwrapして初めて中身が露出します。監査は少なくとも1つのデバイスを常時有効化し、PIIの扱いと保管先の堅牢性に注意します。
TerraformのVaultプロバイダでポリシー・ロール・マウント・Auth Methodをコード化し、レビューと差分管理を標準化します。GitOpsと組み合わせると、権限変更が監査可能な変更管理フローに乗ります。
KubernetesではVault Agent InjectorやSidecarでトークン更新とシークレット配布を自動化し、アプリはファイルウォッチでホットリロード。CIではAppRoleやOIDC連携で短命トークンを払い出し、ジョブ終了時に失効させます。
Associate / Ops
問題 1
VaultのDatabase Secrets Engineで発行した動的クレデンシャルが関与するインシデントが発生。影響を最小化しつつ最も迅速に当該資格情報だけを無効化する適切な操作はどれか。
正解: A
動的クレデンシャルはリースで寿命管理されます。特定の資格情報のみを即時無効化する最短経路は、当該リースIDを vault lease revoke で失効させることです。Engineの無効化や全トークン失効は過剰影響、ポリシー更新は既存リースには即時反映されません。
VaultとクラウドKMSは何が違いますか?
KMSは鍵管理・暗号化の基盤で、アプリの秘密配布までは担いません。Vaultは認証・ポリシー・Secrets Engine(動的資格情報やTransit)・監査・リース管理を備え、アプリに安全に秘密を渡す役割を担います。両者は補完関係にあります。
動的シークレットを使えない外部SaaSはどう扱いますか?
KV v2で静的シークレットを保管し、TTLに基づく定期ローテーション・レスポンスラッピング・厳格なポリシーでリスクを抑えます。可能ならSaaSのAPIキー再発行と切替の自動化を組み込み、露出期間を短縮します。
学習用にどの環境から始めるべきですか?
ローカルのdevサーバは便利ですが永続やセキュリティは本番相当ではありません。Associate/Opsの練習には、HA構成(Raft)を最小ノードで立て、Audit・バックアップ・リストア・リース失効・Auth Methodの一連の操作を演習するのが有効です。
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...