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
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgen...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yhana
September 28, 2026
Technology
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
September 28, 2026
More Decks by yhana
See All by yhana
AWS Organizations 経験者向けAzure ガバナンス速習
yhana
0
60
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
1.5k
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
1.6k
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
1.2k
AWS IAM Identity Center を使わないマルチアカウントのユーザー管理
yhana
2
4.9k
Guard を利用した AWS Config ルール
yhana
0
1.3k
組織的なクラウド統制のはじめの一歩_20240529
yhana
0
1.2k
Azureの基本的な権限管理の勉強会
yhana
1
6.9k
組織的なクラウド統制のはじめの一歩
yhana
0
2.5k
Other Decks in Technology
See All in Technology
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
180
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
750
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
320
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.9k
ScotSecure West 2026 - Glasgow
raybugg
0
180
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
120
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
120
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
6
780
What the customer really needed
kawaguti
PRO
3
230
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
410
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
1
600
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
140
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
It's Worth the Effort
3n
188
29k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
740
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
950
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
A Tale of Four Properties
chriscoyier
163
24k
The Curse of the Amulet
leimatthew05
3
15k
Transcript
Amazon GuardDuty の検出通知メールに AWS DevOps Agent の調査結果を追加する クラウド事業統括本部 yhana
本⽇お話すること GuardDuty の検出通知メールに DevOps Agent の調査結果を記載するノウハウ 検出内容 DevOps Agent 調査結果
2
想定している AWS 環境 • AWS Organizations 全体の GuardDuty 検出結果を Security
Hub に集約 • 集約した検出結果から EventBridge ルール経由で通知 • メールで通知し、宛先は AWS 全体の管理者 ② 検出結果のイベント連携 ③ メール送信 ① 検出結果の集約 3
DevOps Agent を組み込んだアーキテクチャ ⑥ メール送信 ② 検出結果のイベント連携 ③ 調査依頼 追加部分
⑤ 調査結果の取得 ① 検出結果の集約 ④ 検出アカウントの調査 4
DevOps Agent の利⽤機能 5
DevOps Agent の利⽤機能 ⑥ メール送信 ② 検出結果のイベント連携 ③ 調査依頼 ⑤
調査結果の取得 ① 検出結果の集約 ④ 検出アカウントの調査 6
インシデントレスポンス(インシデント RCA)機能 インシデント RCA 機能とは、インシデントの根本原因分析をする機能であり、 DevOps Agent のエージェントとして提供されている 7
調査結果のサマリとタイムライン 調査結果のサマリと調査した内容のタイムラインが閲覧可能 サマリ(2026年8⽉に追加!) 調査タイムライン 8
調査結果を API で取得 調査結果は API/CLI で取得できるため、通知メールには内容を厳選して記載 調査タイムラインを AWS CLI で取得した例
参考ブログ:AWS DevOps Agent のインシデント調査結果を AWS CLI で取得してみた | DevelopersIO 9
サマリ/タイムラインベースのメール内容 2026年8⽉より前は調査タイムラインのみであったが、8⽉からはサマリ情報が調査 結果に出⼒されるようになり、サマリをそのまま取得可能に サマリの内容をそのまま記載 調査タイムラインから根本原因(root_cause)と 現象(symptoms)を取得して記載 10
タイムラインをベースに記載する場合の注意点 根本原因を取得する場合において、調査結果に根本原因が「存在しない場合」「複数 存在する場合」があり、考慮が必要 根本原因を記載する場合の考慮の例 • 根本原因が 1 つの場合は、そのまま記載(下図) • 根本原因が複数の場合は、複数並べて記載
• 根本原因が無い場合は、原因(cause)を利⽤ 存在しない場合、複数存在する場合がある 11
調査結果の⽣成に対する指⽰ 「インシデント RCA」 機能に対する SKILL.md を利⽤して、調査結果の体裁への指 ⽰が可能。⽇本語の記載指⽰が無い場合は、英語で出⼒されることもあった … 12
DevOps Agent のスペース設定 13
DevOps Agent のスペース設定 ⑥ メール送信 ② 検出結果のイベント連携 ③ 調査依頼 ⑤
調査結果の取得 ① 検出結果の集約 ④ 検出アカウントの調査 14
DevOps Agent のスペース設定 スペースとは DevOps Agent がアクセス‧調査できる範囲 デフォルトは単⼀アカウント内の範囲のため、AWS Organizations 配下の全メンバー
アカウントを対象とするためには追加設定が必要 引⽤元:AWS DevOps Agentの全体構造と設定箇所を図解してみた | DevelopersIO 15
DevOps Agent のスペース設定 スペースへの他アカウント追加には、IAM ロールの作成とセカンダリソースの追加が 必要。下図は CloudFormation StackSets と CLI
を利⽤して設定する例 ① DevOps Agent がアクセスするためのロールを StackSets で⼀括作成 ② セカンダリソースとして、全メンバーアカウントを CLI で⼀括追加 参考ブログ:AWS DevOps Agent スペースのセカンダリソースの追加に必要な IAM ロールを CloudFormation StackSets で作成してみた | DevelopersIO 16
DevOps Agent のスペース設定 セカンダリソースの追加を AWS CLI で⼀括設定するイメージ セカンダリソースとなる AWS アカウントのリストを
CLI のインプットとして実⾏ 参考ブログ:AWS DevOps Agent スペースに AWS Organizations 配下のアカウントをセカンダリソースとして AWS CLI でまとめて追加してみた | DevelopersIO 17
DevOps Agent の調査コスト 18
DevOps Agent のコスト GuardDuty の重要度 High 以上の調査コスト実績は「$1〜15/1回、平均 約$6/1回」 サンプルの⼀⻫作成で調査してしまうと $200
程度かかるみたい 参考ブログ:Amazon GuardDutyの検出結果サンプルの⽣成を実⾏したら、AWS DevOps Agentで200ドルの課⾦が発⽣した話 | DevelopersIO 19
【余談】⼤量サンプルの調査が始まってしまった場合 仮に⼤量サンプルを作成してしまった場合でも、同時に調査できる数は限られている ことから、調査をキャンセルすることで意図しない課⾦の抑制が可能 調査のキャンセル ⼤量サンプルの発⽣ 調査 調査 調査 調査 調査
調査 調査 調査 … … 調査 調査 調査 調査 調査 … 20
EventBridge ルールの設定 21
DevOps Agent の設定 ⑥ メール送信 ② 検出結果のイベント連携 ③ 調査依頼 ⑤
調査結果の取得 ① 検出結果の集約 ④ 検出アカウントの調査 22
サンプルを除外するイベントパターン DevOps Agent の調査コストを考慮して次の検出内容を調査‧通知対象に選定 ①重要度「⾼(High)」以上、②サンプルは特定の 1 タイプのみ、にマッチ { "source": ["aws.securityhub"],
"detail-type": ["Security Hub Findings - Imported"], "detail": { "findings": { "ProductName": ["GuardDuty"], "Severity": { "Label": ["HIGH", "CRITICAL"] }, "$or": [ { "Sample": [false] }, { "Types": ["TTPs/Command and Control/Backdoor:EC2-DenialOfService.Dns"] } ] } } } 参考ブログ:AWS Security Hub CSPM 経由の GuardDuty 通知においてサンプル検出を通知させない EventBridge イベントパターンを試してみた | DevelopersIO 23
GuardDuty のテスト⽤サンプル作成 GuardDuty のサンプルは CLI を⽤いることで特定の 1 種類だけ作成が可能 参考ブログ:Amazon GuardDutyで1つのサンプルイベントのみ発⽣させる⽅法
| DevelopersIO 24
Lambda の設定 25
Lambda の設定 ⑥ メール送信 ② 検出結果のイベント連携 ③ 調査依頼 ⑤ 調査結果の取得
① 検出結果の集約 ④ 検出アカウントの調査 26
Lambda の実装イメージ GuardDuty 検出イベントを契機に、Lambda から SDK で DevOps Agent のインシデ
ント調査を開始し、調査が終われば SNS 経由でメールを送信 27
Lambda のタイムアウト時 Lambda のタイムアウト時間上限が 15 分であることを考慮して、DevOps Agent の 調査が終わらない場合は、結果を取得できない旨を記載して通知メールを送信 28
Lambda のタイムアウトへの対応⽅法 Lambda のタイムアウトへの対応⽅法はいくつかあるが、 Durable Functions を利⽤してタイムアウト時間を15分以上にする実装が可能 Durable Functions の各ステップと動作イメージ
No. ステップの処理内容 1 DevOps Agent に調査を依頼する 2 調査のステータスを確認する 3 調査結果を取得してメール本⽂に整形する 4 SNS トピックに発⾏する 1 回⽬ 2〜n 回⽬ n+1 回⽬ … 29
Lambda のタイムアウトへの対応⽅法 Durable Functions 以外の解決策 • Step Functions 化 •
DevOps Agent 調査完了イベントを契機にメール送信する Lambda に分割 次スライド以降で、今回は採⽤しなかった理由を紹介 30
Step Functions と Durable Functions Step Functions でも実現できそうであったが、連携サービスも少なかったため、 公式の意思決定フレームワークを参考に Durable
Functions で試してみた 引⽤元:Durable functions or Step Functions - AWS Lambda 31
Step Functions と Durable Functions 将来の拡張を考えると Step Functions を採⽤してもよかった 例えば、Bedrock
を⽤いて DevOps Agent の調査結果から独⾃の要約を追加する等 独⾃の要約 追加調査内容 32
調査完了イベントを契機にメール送信 Lambda 起動 メール送信⽤ Lambda 関数を分けて作成し、DevOps Agent 調査完了イベントを契機 に Lambda
関数を起動する処理イメージ 33
メール送信⽤ Lambda を分ける場合の考慮点 調査結果イベントや調査結果には GuardDuty の検出結果の完全な情報は無い メール送信⽤ Lambda において、調査依頼時に渡している検出結果情報などを基に 情報取得する必要がある(または、別途保管しておく)
GuardDuty 検出結果情報 (Findings) の有無 メールに検出結果情報を記載する場合は考慮が必要 調査完了イベントや調査結果に 含まれない情報がある 検出結果情報あり 検出結果情報なし 34
メール送信⽤ Lambda を分ける場合の考慮点 DevOps Agent には調査のステータスには調査完了以外に、調査失敗やスキップがあ るため、調査完了イベントだけを条件にすると通知メールが送信されない恐れがある EventBridge のイベントパターン例 通知が漏れないように調査完了(Investigation
Completed) 以外も考慮して指定する必要がある 35
メール送信⽤ Lambda を分ける場合の考慮点 DevOps Agent のインシデント調査には同時実⾏できる上限がある 仮に⼤量の検出が同時に発⽣した際に、調査が終わって通知されるまでに時間がかか る可能性があり、今回は 1 時間以内に通知されるように
Durable Functions を利⽤ ⼤量検出の発⽣ 調査 1時間経過 調査 調査 調査 調査 調査 調査 調査 調査 調査 調査 調査 調査 36
SNS 経由のメールの件名の指定 SNS を直接呼び出してメール件名を指定(ただし、⽇本語は未対応) メール件名の例 • Sandbox 01 (111122223333) AWS
Security Notification • Audit (444455556666) AWS Security Notification 37
さいごに 38
さいごに 本⽇説明した Lambda と Durable Functions 両⽅のサンプルコードをブログで公開 しています URL:【登壇資料】 Amazon
GuardDuty の検出通知メールに AWS DevOpsAgent の調査結果を追加する #devio2026 | DevelopersIO 39
None