Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TerraformのCI/CDって結局どうしたらいいの?
Search
kaitobq
September 02, 2026
1.4k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TerraformのCI/CDって結局どうしたらいいの?
kaitobq
September 02, 2026
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
710
The Cult of Friendly URLs
andyhume
79
7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
290
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
What's in a price? How to price your products and services
michaelherold
247
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Faster Mobile Websites
deanohume
310
32k
Transcript
の って結局どう したらいいの? Terraform CI/CD 交流会!#4 TechBull mini LT& クラシル株式会社
SRE kaitobq
自己紹介 kaito / @kaitobq クラシル株式会社 新卒SRE(インターンから数え て2年目) やってること Enabling /
ID ィ周り 基盤の運用 / CI・CD / セキュリテ 今日は terraform plan (CI) に絞って、リスクと対策を整理した話をします
CI/CD 環境は認証情報の宝庫 の CI/CD 実行環境にあるもの tfstate の Read / CI環境に付与したクラウド権限
/ 各種 credentials / etc. Terraform 任意コード実行の経路 悪意ある provider と plan(CI) の違い apply: 承認フローが組まれていることが多い(適切な承認フロ ーを組む必要はある) plan: クラウドの権限を持ち、PR 上で動く apply(CD) data "external" リポジトリの権限漏洩 etc. PR を出すだけで、CI(plan) 実行環境の権限を悪用できる構成になりやすい どんな対策をすれば防げる?
周りのテックブログを漁ってみた Terraform CI 対策 引用元 信頼できないコードで本番環境の plan を回さない plan 実行前に承認フェーズを挟む
レビュー済み provider を実行イメージに埋め込み、 -plugin-dir とハッシュ照合 で固定する external を Conftest・Rego でブロックする plan / apply でロールを分ける。 plan ロールを最小権限にする tfstate Terraform CI code execution restrictions Mercari Terraform CI code execution restrictions Mercari Terraform CI code execution restrictions Mercari を分離した権限設計について考えてみる Fenr を分離した権限設計について考えてみる Fenr CI/CD ir CI/CD ir に平文の秘密を残さない(ephemeral / write-only) 実行を記録し、後から検知・調査できるようにする Terraform Plan RCE Alex Kaskasoli NEW!! に平文を残さずに秘密情報を管理する tfstate q Takumi Runner / cicd-sensor kaitob
多い!
これらが全て満たせていればいいの? そんなことはないらしい OWASP Top 10 CI/CD Security Risks と突き合わせてみる
OWASP Top 10 CI/CD Security Risks CI/CD 環境の固有リスクを10項目に整理したもの。各項目に Recommendations(推奨事項)がある 7
/ 10 先ほどの8つの対策は OWASP の7つのリスクカテゴリに関連 各カテゴリには複数の推奨事項があり、 考慮すべき項目は合計58件 カバーしていない項目も、全部やらないといけない?
全部やらないといけないのか? 件全てをいきなり満たそうとするのは現実的ではない 58 テックブログから集めた8つの対策は、 CI 上での Terraform plan を守るためのベースラインにはなるのでは? これらを分類すると
分類する 対策 信頼できないコードで本番環境の plan を回さない plan 実行前に承認フェーズを挟む レビュー済み provider を実行イメージに埋め込み、
-plugin-dir とハッシュ照合で固定する external を Conftest・Rego でブロックする plan / apply でロールを分ける。 plan ロールを最小権限にする tfstate に平文の秘密を残さない(ephemeral / write-only) 実行を記録し、後から検知・調査できるようにする OWASP Top 10 CI/CD 効いている場所 ① 任意コード実行を 防ぐ ② 実行されたときの 被害を狭くする ③ 検知・調査 できるようにする の推奨事項58件も、大体この3つに分類できる
結局どうしたらいいの(個人的な意見) リスク = 発生確率( ) 被害の大きさ( ) Likelihood × Impact
── OWASP Risk Rating Methodology 対策 効いている場所 信頼できないコードで本番環境の plan を回さない plan 実行前に承認フェーズを挟む ① 任意コード実行を 防ぐ レビュー済み provider を実行イメージに埋め込み、 -plugin-dir とハッシュ照合で固定する external を Conftest・Rego でブロックする ⇒ 発生確率を下げる。やることが無限で、0 にはならない コスパがいい plan / apply でロールを分ける。 ② 実行されたときの plan ロールを最小権限にする 被害を狭くする tfstate に平文の秘密を残さない(ephemeral / write-only) ⇒ 被害の大きさを下げる。やることが限られ、確実に効く 実行を記録し、後から検知・調査できるようにする ③ 検知・調査 できるようにする 発生確率は 0 にはできない → ③ 起きたことが見える状態にしておく Takumi Runner / cicd-sensor
まとめ リスク = 発生確率(Likelihood)× 被害の大きさ(Impact) 発生確率は 0 にできない → 被害の大きさを下げる方が確実にリスクを低減できる
OWASP Risk Rating Methodology からやるなら まず 被害の大きさ(Impact)を抑える(②)。そのうえで、組織の成熟度と事業内容に応じて予防(①)、 検知・調査(③)を重ねていく 予防は積み上げ続けられるので、OWASP Top 10 CI/CD を一覧として使い、優先順位と「やらないこと」 を決める 0 どれか1つではなく 多層防御!