Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vault Secrets Operator と Dynamic Secrets で安全にシー...
Search
ののし
May 29, 2023
Technology
4
1k
Vault Secrets Operator と Dynamic Secrets で安全にシークレットを使おう / Vault Secrets Operator and Dynamic Secrets
ののし
May 29, 2023
Tweet
Share
More Decks by ののし
See All by ののし
2025 年版 HashiCorp Vault 入門 / Introduction to HashiCorp Vault - 2025 Edition
nnstt1
1
60
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
330
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
510
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
760
進化するクラウド管理 -Azure と Terraform の最新トレンド- / Evolving Cloud Management - Latest Trends in Azure and Terraform
nnstt1
0
61
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
430
HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets
nnstt1
0
230
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
220
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
200
Other Decks in Technology
See All in Technology
MAP-7thplaceSolution
yukichi0403
2
190
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
3
260
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
400
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
13
7.8k
Bedrock のコスト監視設計
fohte
2
250
AI 時代のデータ戦略
na0
6
1.4k
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
210
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
45k
【ASW21-02】STAMP/CAST分析における生成AIの支援 ~羽田空港航空機衝突事故を題材として (Support of Generative AI in STAMP/CAST Analysis - A Case Study Based on the Haneda Airport Aircraft Accident -)
hianraku9498
1
350
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
490
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
1k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
59
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Facilitating Awesome Meetings
lara
57
6.6k
Being A Developer After 40
akosma
91
590k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Transcript
Vault Secrets Operator と Dynamic Secrets で 安全にシークレットを使おう Kubernetes Novice
Tokyo #25 LT 2023/5/29
Name Taichi Nonoshita Twitter ののし @nnstt1 Company 株式会社エーピーコミュニケーションズ Love 3人の息子たち
自己紹介 めざせ Azure 資格全冠! (あと13個)
Kubernetes シークレットの管理はむずかしい
Kubernetes シークレットの管理はむずかしい そもそも
シークレットの管理はむずかしい 管理者 開発者 依頼 DB ユーザ作成 認証情報 ユーザ 台帳 認証情報を記録
シークレットの管理はむずかしい 管理者 開発者 依頼 DB ユーザ作成 認証情報 ユーザ 台帳 認証情報を記録
記録ミス 棚卸 パスワード使いまわし 退職 使われているか 不明なユーザ
Dynamic Secrets
Dynamic Secrets とは • HashiCorp Vault の機能 • 各種データベースやクラウドプロバイダに一時ユーザを作成 •
有効期限 (TTL) が切れたら一時ユーザを削除 ログイン & リクエスト ユーザ作成 事前に Dynamic Secrets を設定 管理者 認証情報 DB ユーザ ユーザ削除
接続先データベースやユーザ作成時のクエリを設定 • データベースプラグインを選択 • ユーザ名とパスワードは動的に生成される シークレットエンジン 接続先データベース ユーザ作成時のクエリ(SQL Server の場合)
クライアントが Dynamic Secrets を使えるようにポリシーを設定 • Dynamic Secrets はシークレットエンジンの読み込み権限があれば利用可能 ポリシー ログイン
database シークレットエンジンの 参照を許可するポリシー ポリシーと紐づけ
Vault にログインして vault read database/creds/<Role 名> を実行 • リース情報が出力される ◦
ユーザ名 & パスワード ◦ 有効期間(ここでは 3 分) ◦ 更新の可否 クライアントから Dynamic Secrets を利用
Dynamic Secrets はとても便利 Kubernetes でも Dynamic Secrets を使いたい! • アプリケーション(コンテナ)側で
Vault を使うことは意識したくない • Kubernetes シークレット に Vault シークレットを反映してほしい ログイン & リクエスト ユーザ作成 認証情報 DB ユーザ
Vault Secrets Operator
• HashiCorp 公式の Vault シークレットを Kubernetes シークレットに 反映してくれる Operator •
現在 (2025/5/29) のバージョンは v0.1.0-beta • インストール方法などは Kubernetes Novice Tokyo #24 で @URyo_0213 さんが発表 された資料を参照ください。 え?なんで同じ Operator ネタなの? Vault Secrets Operator とは https://speakerdeck.com/ry/vault-secrets-operator-tutorial
• Vault 設定 ◦ Kubernetes 認証の有効化、ロール作成 ◦ シークレットエンジン (Dynamic Secrets)
パスワードください Vault Secrets Operator から Dynamic Secrets を使う Kubernetes 認証 このアカウント本物? Service Account TokenReview API https://kubernetes.io/docs/reference/kubernetes-api/authentication-resources/token-review-v1/
• カスタムリソース ◦ VaultConnection ▪ Vault の接続情報 ◦ VaultAuth ▪
Operator が Vault を使う際の認証情報 ◦ VaultDynamicSecret ▪ Vault シークレットを反映させる Kubernetes シークレット ▪ シークレットを使うアプリケーション Vault Secrets Operator から Dynamic Secrets を使う
カスタムリソースと Vault の関係 VaultConnection VaultAuth VaultDynamicSecret address vaultConnectionRef vaultAuthRef mount
role rolloutRestartTargets destination method mount kubernetes role serviceAccount Kubernetes Auth kubernetes Role dynamic-role Secrets Engines database Role readonly ※一部パラメータを省略
• VaultDynamicSecret を起点に Vault からシークレット反映 1. カスタムリソースをチェック 2. ServiceAccount Token
発行 3. Vault に Dynamic Secrets を要求 4. データベースにユーザ作成 5. リース情報を応答 6. Kubernetes シークレットを更新 7. アプリケーションをロールアウトして シークレット反映 Vault Secrets Operator の動作 VaultDynamicSecret Vault Secrets Operator ① ③ ④ ⑤ ② ⑥ ⑦ DB ユーザ 有効期限 2023/5/29 19:10:00
• VaultDynamicSecret があれば Dynamic Secrets の有効期限を延長 1. カスタムリソースをチェック 2. 有効期限を更新(延長)
Vault Secrets Operator の動作 VaultDynamicSecret Vault Secrets Operator ① ② DB ユーザ 有効期限 2023/5/29 19:20:00
• VaultDynamicSecret がなければ何もしない 1. カスタムリソースをチェック 2. Vault が DB からユーザを削除
3. Kubernetes シークレットを使ったDB アクセス不可 Vault Secrets Operator の動作 VaultDynamicSecret Vault Secrets Operator ① ② DB ユーザ 有効期限 2023/5/29 19:20:00 ③
まとめ • HashiCorp Vault はいいぞ • Dynamic Secrets はいいぞ •
Vault Secrets Operator はいいぞ