$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / B...
Search
ののし
September 02, 2025
Technology
3
390
シークレット管理だけじゃない!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
75
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
520
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
780
進化するクラウド管理 -Azure と Terraform の最新トレンド- / Evolving Cloud Management - Latest Trends in Azure and Terraform
nnstt1
0
65
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
440
HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets
nnstt1
0
240
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
220
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
210
つまずきから学ぶ Backstage の Golden Path 構築
nnstt1
2
1.5k
Other Decks in Technology
See All in Technology
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
460
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
140
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.3k
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
230
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
160
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
260
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
Identity Management for Agentic AI 解説
fujie
0
470
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
21
8.2k
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.8k
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
140
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
1
190
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
WCS-LA-2024
lcolladotor
0
390
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
37
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
94
Mobile First: as difficult as doing things right
swwweet
225
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Visualization
eitanlees
150
16k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
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