HashiCorp Vaultとは
HashiCorp Vaultは、シークレット管理、暗号化サービス、アクセス制御を提供するオープンソースツールです。APIキー、パスワード、証明書、暗号化キーなどの機密情報を安全に保存し、きめ細かいアクセス制御と監査ログを提供します。
Vaultの主要機能:
- シークレット管理:静的/動的なシークレットの保存と配布
- Encryption as a Service:アプリケーションデータの暗号化
- 動的シークレット:データベース認証情報のオンデマンド生成
- PKI:証明書の発行と管理
- アクセス制御:ポリシーベースの権限管理
AIエンジニアとしての実体験
AIエンジニアとして、機械学習パイプラインでのシークレット管理にVaultを活用しています。APIキー、データベース接続情報、モデルストレージの認証情報などを安全に管理できます:
# Vault CLIでシークレットを保存
vault kv put secret/ml-pipeline/openai api_key="sk-..."
# シークレットの取得
vault kv get -field=api_key secret/ml-pipeline/openai
# 動的データベースシークレットの取得
vault read database/creds/ml-readonly
# Pythonでの使用例
import hvac
client = hvac.Client(url='https://vault.example.com:8200')
client.token = os.environ['VAULT_TOKEN']
# シークレットの取得
secret = client.secrets.kv.v2.read_secret_version(
path='ml-pipeline/openai'
)
api_key = secret['data']['data']['api_key']
Kubernetesとの統合
Kubernetesでのシークレット管理にVaultを使用する設計:
# Vault Agent Sidecar Injector
apiVersion: v1
kind: Pod
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/role: "ml-pipeline"
vault.hashicorp.com/agent-inject-secret-config: "secret/ml-pipeline/config"
spec:
containers:
- name: ml-app
image: ml-inference:latest
HashiCorp Vaultのメリット・デメリット
メリット
- KV Store、動的シークレット、暗号化サービス(Transit)、PKIなど複数のシークレット関連機能を単一のツールに統合できる
- 特定クラウドに依存せず、AWS・GCP・Azure・オンプレミスを横断したマルチクラウド運用が可能
- データベース認証情報などを必要な時だけ動的に発行し、有効期限後は自動失効させることで、静的な認証情報の長期漏洩リスクを減らせる
- オープンソース版は無料で利用でき、コミュニティ・エコシステムが大きい
デメリット
- 初期構築・運用(HA構成、アンシール、バックアップ)の学習コストと運用負荷が高い
- 単一障害点になりやすく、Vaultが停止するとシークレットにアクセスできないアプリケーションが連鎖的に停止するリスクがある
- Vault Enterprise機能(名前空間、レプリケーション等)は有償ライセンスが必要
- 小規模なチームやシンプルな用途では、マネージド型のクラウドサービス(AWS Secrets Manager等)と比べてオーバースペックになりやすい
類似技術との違い:Vault vs AWS KMS vs HSM
機密情報・暗号鍵を守る技術にはVault以外にクラウドのKMS(Key Management Service)や、物理的なHSMがあります。それぞれ守備範囲と管理方式が異なります。
| 項目 | HashiCorp Vault | クラウドKMS(AWS KMS等) | HSM |
|---|---|---|---|
| 主な役割 | シークレット管理・動的認証情報発行・暗号化サービス | 暗号鍵の生成・保管・暗号化API提供 | 暗号鍵の物理的に安全な生成・保管 |
| 管理範囲 | マルチクラウド・オンプレミス横断 | 単一クラウドベンダー内が基本 | オンプレミスまたはクラウドHSMサービス |
| 運用形態 | 自前運用(Self-Hosted)またはHCP Vault | フルマネージド | 専用ハードウェア、または CloudHSM 等のマネージド型 |
| 典型的な組み合わせ | アプリのシークレット管理層として、裏側でKMSやHSMをアンシールに利用 | Vaultのオートアンシール、S3等のサーバーサイド暗号化 | Vault・KMSのルート鍵を保護する最下層として利用 |
実運用では、VaultがHSMやクラウドKMSをオートアンシールのバックエンドとして利用するなど、三者は競合ではなく階層的に組み合わされることが一般的です。詳細はHSM、鍵管理のページも参照してください。
実務での活用シーン・導入時の注意点
主な活用シーン
- マイクロサービス間で共有するAPIキー・DB認証情報の一元管理
- CI/CDパイプラインでのシークレット注入(GitHub Actions、GitLab CI等との連携)
- Kubernetes上のPodへのシークレット自動配布(Vault Agent、Vault Secrets Operator)
- 内部PKIとしての短命TLS証明書の発行・自動更新
導入時の注意点
- アンシール方式の設計:手動アンシールは運用負荷が高いため、AWS KMS等を使ったオートアンシールを最初から設計に組み込む
- 高可用性構成:本番環境ではVaultクラスタを複数ノードで構成し、単一障害点をなくす
- 最小権限のポリシー設計:アプリケーションごとに必要最小限のパスのみアクセスできるポリシーを設定する
- 監査ログの有効化:誰がいつどのシークレットにアクセスしたかを追跡できるよう、監査デバイスを必ず有効化する
最新動向(2026年)
Vault Enterprise
大規模環境向けに、レプリケーション、ネームスペース、高度な監査機能が提供されています。
クラウドマネージドサービス
HCP Vault(HashiCorp Cloud Platform)により、マネージドなVaultを利用可能。AWS、GCP、Azureとのネイティブ統合も進んでいます。
トラブル事例と対策
⚠️ シールされたVault
症状:再起動後にVaultがシールド状態
対策:オートアンシールを設定(AWS KMS、GCP KMS、Azure Key Vault)。
⚠️ トークンの期限切れ
症状:アプリケーションがシークレットにアクセスできない
対策:トークンの自動更新を実装、Vault Agentの使用を検討。
権威あるリソース
関連用語
2025-2026年の最新動向
HashiCorp Vault 1.17+では、Kubernetes統合がさらに強化され、Vault Secrets Operatorによるシークレットの自動同期が標準化されています。KubernetesのPodが起動時にVaultからシークレットを自動取得し、ローテーション時も自動更新されるため、運用負荷が大幅に軽減されています。
HCP Vault Secrets(HashiCorp Cloud Platform)のマネージドサービスが普及し、小規模チームでもVaultの機能を手軽に利用できるようになりました。SaaSアプリケーションやCI/CDパイプラインとの統合が容易です。
また、IBM/HashiCorp買収(2024年)の影響で、Vaultは IBM のセキュリティポートフォリオに統合されつつあり、エンタープライズ向けの機能強化とサポート体制の拡充が進んでいます。オープンソース版(OpenBao フォーク含む)と商用版の選択肢が多様化しています。
よくある質問(FAQ)
Q. HashiCorp Vaultとは?
HashiCorp VaultはAPIキー、パスワード、証明書などの機密情報(シークレット)を安全に管理するためのオープンソースツールです。動的シークレット生成、暗号化サービス、アクセス制御を提供します。
Q. Vaultの主な機能は?
シークレット管理(KV Store)、動的シークレット(データベース認証情報の自動生成・失効)、Transit暗号化(Encryption as a Service)、PKI(証明書発行)が主要機能です。
Q. AWS Secrets ManagerとVaultの違いは?
AWS Secrets ManagerはAWS特化のマネージドサービス、Vaultはマルチクラウド対応のオープンソースツールです。マルチクラウドやオンプレミス環境ではVault、AWS単独ならSecrets Managerが適しています。
