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
Vault を基盤として整備し、 みんなに使ってもらえるようになるまで
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takahiko Suzuki
September 02, 2025
Technology
1
290
Vault を基盤として整備し、 みんなに使ってもらえるようになるまで
Takahiko Suzuki
September 02, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
3
300
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
190
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
150
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Context Engineering - Making Every Token Count
addyosmani
9
670
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Site-Speed That Sticks
csswizardry
13
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
A Tale of Four Properties
chriscoyier
162
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Crafting Experiences
bethany
1
50
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
©Internet Initiative Japan Inc. Vault を基盤として整備し、 みんなに使ってもらえるようになるまで 株式会社インターネットイニシアティブ ネットワークサービス事業本部 ネットワーク本部
SRE推進部 シニアエンジニア 鈴木 高彦
©Internet Initiative Japan Inc. IIJ のご紹介
©Internet Initiative Japan Inc. 国内初の「商用インターネット接続サービス」事業者です。 東証上場時 創業時オフィス IIJは、1992年に設立され翌年「日本初の商用インターネット接続サービス」の提供をはじめました。以来、IIJグループはネットワーク社会の基盤をつくり、技術力でその発 展を支えてきました。IIJは、これからもインターネットの進化を支え続けていきます。 2022年12月3日に30周年を迎えました
IIJは、高い技術力で“国内初“を創り続けています。 ➢ 1993年 国内初 商用インターネット接続サービス提供開始 ➢ 1994年 国内初 ファイアウォールサービス提供開始 ➢ 1999年 国内初 サービス品質保証制度(SLA)を導入 ➢ 1999年 国内初 IPv6の商用実験サービスを提供開始 ➢ 2003年 国内初 ルータ管理システム「IIJ SMF」を開発し特許取得 ➢ 2005年 国内初 送信ドメイン認証技術の導入を開始 ➢ 2011年 国内初 外気冷却を利用したコンテナ型データセンターを開 設 ➢ 2018年 国内初 フルMVNOとしてサービス提供開始
©Internet Initiative Japan Inc. IIJ の SRE • マルチテナント Kubernetes
クラスタの開発・運用 • 社内クラウド環境上にKubernetesクラスタを構築 • サービス部門がKubernetesプラットフォームとして利用 • Kubernetes を利用する上で必要なシステムの開発・運用 • ロードバランサ • オブジェクトストレージ • モニタリングシステム • コンテナレジストリ • KMS • etc. 社内クラウド 連携 システム
©Internet Initiative Japan Inc. 導入
©Internet Initiative Japan Inc. シークレットの管理に関する課題 • シークレットを格納する方法が定められていない • 仕方がないので •
Confluenceのプライベートページ • プライベートリポジトリ • 秘密のExcelシート • セキュリティリスク • オペレーションが自動化できない →よろしくないのでシークレット管理システムの導入を検討
©Internet Initiative Japan Inc. シークレット管理システムの要件 • 社内のシークレット管理インフラとして、部門/プロジェクト問 わず利用可能 • 部門/プロジェクトにテナントを払い出す
• オンプレ • クラウドサービスの利用は反発が強い • ましてやシークレット管理 • DR 構成 • アカウント/グループ管理を Entra ID (旧Azure AD) と連携させ たい • 他プロダクトとの連携が容易 • Terraform, Ansible, Github, Kubernetes, …
©Internet Initiative Japan Inc. KMS の選定 • 要件を満たすのは HashiCorp Vault
Enterprise ほぼ一択 • オンプレ導入ができる • Entra ID と連携 (OIDC) できる • ネームスペースを使うとテナント毎に DB を分離できる • DR 構成もとれる • 他プロダクトとの連携もしやすい • Anisble, Terraform などは Vault API をサポート • REST API, Vault Secrets Operator, …
©Internet Initiative Japan Inc. 構成
©Internet Initiative Japan Inc. システム構成 • 地理的に分散した DC をまたぐ DR
replication • 1サイトあたり3台のサーバからなるクラスタ Vault Vault Vault DC1 Vault Vault Vault DC2
©Internet Initiative Japan Inc. Entity のレイアウト 目標: 同一の人/グループが複数のテナント(namespace)に同時に 所属する •
root namespace • 人間のアカウント • EntraID と連携する外部(external)グループ • テナント (namespace) • root namespace のグループをメンバーとする内部 (internal)グループ
©Internet Initiative Japan Inc. Entra ID Group Entity のレイアウト root
namespace Vault Entra ID 人間の Entity Entity Alias External Group Tenant (namespace) Internal Group member Policy Secret Engines Entra ID User
©Internet Initiative Japan Inc. 社内への普及
©Internet Initiative Japan Inc. 学習コストが高い • Vault 普及の最大の障壁 • テナントの利用者が、払い出されたnamespaceを「とりあえず
使える」状態にするまでが一苦労 • 必要な設定 • KV エンジンの有効化 • ポリシーの設定 • Entra IDとアカウントおよびグループの連携
©Internet Initiative Japan Inc. 社内への普及に向けて • トップダウンで「今日から全員Vaultを使え」というタイプの会社 ではない • コスト負担および煩雑な移行作業も必要なので、啓蒙活動は
おこなうが利用判断・タイミングは部署/プロジェクトに委ね る • トップダウンでなければみんなが使わないほど Vault は酷い プロダクトでもない • とっつきにくいだけで、とてもよくできている
©Internet Initiative Japan Inc. 社内への普及に向けて • ボトムアップな社風 • ドキュメントがあるとわりと頑張って読んでくれる •
興味を持つと自発的に宣伝してくれたりする • 「わかんなかったら聞いて」はどちらかというと苦手 • 前向きな気持ちで使って欲しい • 作業が必要なのでメリットを理解した方が広く適用してく れる • 自部署/プロジェクトで手柄として欲しい →興味を持った人のやる気を妨げない環境づくり
©Internet Initiative Japan Inc. Vault 導入前 • Ansibleのリポジトリに入れられない情報をplaybook実行前に補う 作業が必要 •
手順書に書けないので「今回使うパスワードはどれ?」のような 混乱になりがち • パスワードが列挙されたページを見るときの後ろめたさ # 秘密のconfluenceページからパスワードを探す $ SECRET_KEY=himitsu123 # 秘密鍵を秘密のリポジトリからコピーする $ cp himitsu_repository/server.key somewhere/certs/ # 秘密のパスワードを設定ファイルに埋め込む $ vim files/secret.yaml $ ansible-playbook –i inventories/ap-northeast-1-prd playbooks/all.yaml
©Internet Initiative Japan Inc. Vault 導入後 • 環境に関する情報(Vault内でのパスになる)もinventory内に記述 できる •
手順が定型化でき、オペミスも減らせる • 開発環境など、要件によってはメンテナンスの(半)自動化も • この導入作業をやってくれるのは十分手柄だと思う # Vault トークンの入手。オプションは適宜。 $ vault login –method=oidc $ ansible-playbook –i inventories/ap-northeast-1-prd playbooks/all.yaml
©Internet Initiative Japan Inc. 社内への普及に向けて • ガバナンス的な観点で見がちだが、現場は現場でうれしいことが ある • 「一度頑張って導入すると楽になるのは君たちだよ」という点を
伝える • 一度「楽になったな」というのを現場の人に実感してもらえれば、 自発的に横展開してくれる • いかに一度目の「楽になったな」を感じてもらうかが勝負
©Internet Initiative Japan Inc. 興味を持った人のやる気を妨げない環境づくり • 社内認知は頑張る • 社内勉強会、社内ブログ •
HashiCorpさんにも協力いただきました 「あのHashiCorpのエンジニアが話をしてくれる」 • 自本部には号令をかけてもらい社内事例作り • ドキュメントはしっかり用意する • 興味が冷める前にVaultを一通り体験できるように • ドキュメントがあると面白がって触ってくれたりする • 一通りの操作を「依頼なし」でできるようにする • 手順が少し複雑でも、管理者に依頼せずに済むフローの方 が好まれる
©Internet Initiative Japan Inc. テナントの払い出し • どうしてもテナント(namespace)の払い出し申請は必要 • 他テナントとの隔離のため •
その際にできるだけのことをしてあげちゃう
©Internet Initiative Japan Inc. テナントの払い出し • テナント作成の際に「とりあえず触れる」レベルになる設定を 流し込む • KVシークレットエンジン
• グループの作成, Entra ID への紐付け • ポリシーの作成 • テナント管理者グループの作成 • 内部グループの作成 • Entra IDアカウントに対応するEntityをメンバーに登録 • 管理者ポリシーの作成 • ゼロから書くより、既にある設定を変更/拡張/修正する方が敷 居が低い
©Internet Initiative Japan Inc. テナントの払い出し • 利用者が増えるほど、テナント (namespace)の作成が大変 • YAMLで定義したテナントの設定を
Terraformで読み込み作成 • 「とりあえず触る」ための設定一 式を流し込む • YAMLならTerraform以外のツール からも扱いやすい name: sre costCenterCode: “${コスト按分用コード}" administrators: -
[email protected]
-
[email protected]
groups: - name: "members" aadGroupNames: - “IIJ-XXX-SRE" - “IIJ-XXX-PROJECT123" - name: "operators" aadGroupNames: - “IIJ-XXX-PROJECT456"
©Internet Initiative Japan Inc. 社内への普及に向けて • 狙い通り、先進的なユーザーによって使われるようになった • 問い合わせを見ても、ドキュメントをちゃんと読んでくれてい る
• 理解も徐々に進み、着々と利用者が増える状況となった
©Internet Initiative Japan Inc. 当日限り
©Internet Initiative Japan Inc. 社内への普及に向けて • セキュリティ対策への意識が急激に高まった • 利用部門/プロジェクト数が急増 •
それまで利用コストの按分を嫌っていた部門/プロジェクト での利用許可が下りた、などの声も • Vault側の準備が整っていたおかげで急な増加に際して混乱 はなかった • 結果的に広く使われるようになった • 「このネットワークからも Vault 使えるようにして欲しい」とい う要望をもらうほど広く使われている
©Internet Initiative Japan Inc. まとめ • Vault Enterprise を使って Entra
ID と連携したシークレット 管理インフラを構築 • 頑張って導入すると現場がラクになる • やる気になった人のやる気を削がないアプローチで社内への普 及を図った
©Internet Initiative Japan Inc. ご清聴ありがとうございました。