Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / B...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ののし
September 02, 2025
Technology
3
460
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
HashiCorp Vault ユーザ会 第1回
https://vaultuserjp1.splashthat.com/
ののし
September 02, 2025
Tweet
Share
More Decks by ののし
See All by ののし
2025 年版 HashiCorp Vault 入門 / Introduction to HashiCorp Vault - 2025 Edition
nnstt1
1
100
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
550
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
810
進化するクラウド管理 -Azure と Terraform の最新トレンド- / Evolving Cloud Management - Latest Trends in Azure and Terraform
nnstt1
0
79
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
470
HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets
nnstt1
0
250
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
220
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
220
つまずきから学ぶ Backstage の Golden Path 構築
nnstt1
2
1.5k
Other Decks in Technology
See All in Technology
横断SREがSRE社内留学制度 / Enablingになぜ踏み切ったのか
rvirus0817
0
300
AWS DevOps Agent x ECS on Fargate検証 / AWS DevOps Agent x ECS on Fargate
kinunori
3
430
Getting started with Google Antigravity
meteatamel
0
270
LLMOpsのこれまでとこれからを学ぶ
nsakki55
2
640
あすけん_Developers_Summit_2026_-_Vibe_Coding起点での新機能開発で__あすけん_が乗り越えた壁.pdf
iwahiro
0
160
技術書を出版するまでの1161時間50分38秒
kakeami
0
140
意志を実装するアーキテクチャモダナイゼーション
nwiizo
3
1.1k
#23 Turing × atmaCup 2nd 6th Place Solution + 取り組み方紹介
yumizu
0
150
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
340
30分でわかる「ネットワーク図の描き方入門」/infraengbooks56
corestate55
1
350
Generative UI を試そう!A2-UIでAIエージェントにダッシュボードを作らせてみた
kamoshika
1
240
AIで 浮いた時間で 何をする? 2026春 #devsumi
konifar
15
2.3k
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
810
How GitHub (no longer) Works
holman
316
140k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building Adaptive Systems
keathley
44
2.9k
From π to Pie charts
rasagy
0
140
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
The Language of Interfaces
destraynor
162
26k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
340
Context Engineering - Making Every Token Count
addyosmani
9
680
Between Models and Reality
mayunak
1
210
Transcript
None
Hello!! 株式会社エーピーコミュニケーションズ 四国在住3児の父 HashiCorp Ambassador 2024-2025 Microsoft Top Partner Engineer
Award 2024-2025 <Azure> 埜下太一 / ののし (@nnstt1)
会社紹介
会社紹介
私と HashiCorp Vault
Kubernetes のシークレットを管理したい 色々試したけどしっくりこない…
そんなところに Vault Secrets Operator が登場!
VSO ええやん! でも HashiCorp Vault めっちゃムズい…
初めて学んだ HashiCorp Vault の記事 https://zenn.dev/nameless_gyoza/articles/hashicorp-vault-hands-on
HashiCorp Vault の勉強&アウトプット HashiCorp Ambassador に選出される
本編
HashiCorp Vault の主な機能 シークレット管理 データ保護 今日のテーマはこちら HashiCorp Vault で機密情報を一元管理 Encryption
as a Service 静的シークレット: パスワード、API キー、トークン、etc… 動的シークレット: DB 認証情報、AWS IAM、Microsoft Entra、etc…
HashiCorp Vault のデータ保護 Encryption as a Service を提供してデータ保護機能を HashiCorp Vault
に集約 Vault で平文を暗号化 暗号文を格納 Vault で暗号文を復号
HashiCorp Vault のデータ保護によってデータがどのように変わるでしょう? HashiCorp Vault のデータ保護 Masking Tokenization Transit Secret
Engine Transform Secret Engine 元データ: 4111-1111-1111-1111 暗号化後:??? 変換後:??? 変換後:??? 変換後:??? FPE
Transit Secret Engine
Transit Secret Engine • HashiCorp Vault の標準的なデータ暗号化機能 • 平文を HashiCorp
Vault に投げると暗号文が返ってくる • 暗号文は HashiCorp Vault に保存されない • キーローテーションやエンベロープ暗号化にも対応
Transit Secret Engine • シークレットエンジンの有効化 $ vault secrets enable transit
Success! Enabled the transit secrets engine at: transit/ $ vault write -f transit/keys/my-key • 暗号鍵の生成
暗号化 • 平文を Base64 エンコードして HashiCorp Vault に暗号化をリクエスト • HashiCorp
Vault では暗号化に使った鍵バージョンが暗号文に記録されて、 復号時に利用される $ vault write transit/encrypt/my-key ¥ plaintext=$(echo "4111-1111-1111-1111" | base64) Key Value --- ----- ciphertext vault:v1:tigfEcdRpw9WO01eS0p… key_version 1
復号 • HashiCorp Vault で暗号化されたデータの例 $ vault write transit/decrypt/my-key ¥
ciphertext="vault:v1:tigfEcdRpw9WO01eS0p…" Key Value --- ----- plaintext NDExMS0xMTExLTExMTEtMTExMQo= • 復号されたデータは Base64 エンコードされている $ echo "NDExMS0xMTExLTExMTEtMTExMQo=" | base64 -d 4111-1111-1111-1111
キーローテーション • キーローテーションにより鍵が漏洩した場合でも影響範囲を限定できる • コンプライアンスなどでローテーション頻度を定められていることも • 自動ローテーション機能はあるが「毎月末ローテーション」のような設定はできない
キーローテーション Q. キーローテーションしても古いバージョンの暗号済みデータは復号できる?
キーローテーション Q. キーローテーションしても古いバージョンの暗号済みデータは復号できる? A. Transit Secret Engine の設定次第
Transit Secret Engine の設定 • min_encryption_version:暗号化に使用する鍵の最小バージョン • min_decryption_version:復号に使用する鍵の最小バージョン • latest_version:鍵の最新バージョン
Transit Secret Engine の設定 • min_decryption_version で指定したバージョンより新しい鍵で復号可能
Rewrap • 古いバージョンの鍵で暗号化されたデータを新しいバージョンの鍵で再暗号化 • 平文に戻さずに暗号文から暗号文に変換 • 元の平文データは露出しない安全な処理 • 先に min_decryption_version
を更新すると古い暗号文は Rewrap できなくなる
エンベロープ暗号化 • 「封筒(エンベロープ)」のように暗号鍵自体を暗号化する方式 • データ暗号鍵を HashiCorp Vault のルート鍵を使って暗号化 • 暗号文と暗号化されたデータ暗号鍵を保管
• 大容量データの暗号化 • ネットワーフの負荷軽減 • HashiCorp Vault の負荷軽減 メリット • クライアントの実装が複雑になる • データとキーの対応関係の管理が必要 デメリット
エンベロープ暗号化の流れ 1. HashiCorp Vault で生成した「データキー」を使ってクライアントで暗号化 2. 「データキー」は即破棄 3. 「暗号文」と「暗号化されたデータキー」を一緒に格納
エンベロープ暗号化の復号 1. 「暗号化されたデータキー」を HashiCorp Vault で「データキー」に復号 2. 「暗号文」を「データキー」で復号 3. 「データキー」は即破棄
Transit Secret Engine の課題 • Transit Secret Engine では暗号文の形式が変わってしまう ◦
既存の DB スキーマに格納できない ◦ アプリケーションの Validation 修正が必要 • この課題を解決するのが Transform Secret Engine Transit 4111-1111-1111-1111 4111-1111-1111-1111 “vault:v1:abc…” vault:v1:abc…
Transform Secret Engine
• Vault Enterprise の Advanced Data Protection モジュール限定 • FPE
(Format Preserving Encryption) / Masking / Tokenization の機能がある • FPE によってデータ型・長さ・文字種をそのまま維持した暗号化が可能 Transform (FPE) Transform Secret Engine 4111-1111-1111-1111 4111-1111-1111-1111 9474-2096-7736-0783 9474-2096-7736-0783
Transform Secret Engine Tokenization • 不可逆変換 • テスト環境への本番データ投入、 画面・ログへの表示、分析・統計 •
データをランダムに生成されたト ークンに置き換え • クレジットカード セキュリティ基 準 (PCI CSS) などに準拠 4111-1111-1111-1111 4111-####-####-#### 4111-1111-1111-1111 TKN8x9mP2qR7nV3kL5j Masking
Transit / Transform の使い分け https://developer.hashicorp.com/vault/docs/concepts/transform 復元する 必要がある? 形式を保持する 必要がある? 不可逆・
有効期限・ メタデータが 必要?
Vault Enterprise の機能を試したい • 個人で Enterprise 機能を試すなら がオススメ • Advanced
Data Protection モジュールの Transform Secret Engineも使える • Pay-as-You-Go (PAYG) でのクレカ払い可能 ◦ 請求は IBM の仕組みに移管される予定 • 最小 Tier で $0.616/hr ◦ 1日あたり約 2,200 円、立てっぱなしに注意 ◦ 2025月3月に価格改定、以前は $0.045/hr だった(約14倍に!!)
HashiCorp Ambassador • HashiCorp 製品の知識を共有してコミュニティに貢献しているメンバー • Ambassador 特典で HCP (HashiCorp
Cloud Platform) の $500 クレジットを 貰える • 「検証 → 知見をアウトプット → Ambassador 選出 → 特典でさらに検証」 というループを回せる ※来年以降もあるかは保証しません
まとめ
HashiCorp Vault を使って Encryption as a Service を提供できる HashiCorp Vault
のデータ保護 Masking Tokenization Transit Secret Engine Transform Secret Engine 元データ: 4111-1111-1111-1111 暗号化後: vault:v1:tigfEcdRpw9WO01eS0p… 変換後:9474-2096-7736-0783 変換後:4111-####-####-#### 変換後:TKN8x9mP2qR7nV3kL5j FPE 大容量データを暗号化するには 「エンベロープ暗号化」を使う Vault Enterprise 限定
Thanks!! contact me at @nnstt1