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
強すぎるIAMをCloudTrailを使って適正化した話
Search
yjszk
October 23, 2024
Technology
0
430
強すぎるIAMをCloudTrailを使って適正化した話
https://opsjaws.connpass.com/event/331041/
yjszk
October 23, 2024
Tweet
Share
More Decks by yjszk
See All by yjszk
バッチ処理を監視したいだけなんだが…
yjszk
7
2.1k
技術発信を続ける難しさを行動で乗り切る
yjszk
1
1.5k
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
270
DMARCレポートの可視化ツールの作成と運用した結果
yjszk
0
170
リブセンスのソリューションチームについて
yjszk
0
850
トイル撲滅から始める改善手法とその結果
yjszk
0
1.9k
設計という共通認識
yjszk
0
850
LT駆動生活
yjszk
1
1.2k
Other Decks in Technology
See All in Technology
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
390
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.2k
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
13
5k
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
Welcome to the LLM Club
koic
0
170
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.6k
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
240
GitHub Copilot の概要
tomokusaba
1
130
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
6
730
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
340
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
3
470
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
210
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
BBQ
matthewcrist
89
9.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
How to Ace a Technical Interview
jacobian
277
23k
Rails Girls Zürich Keynote
gr2m
94
14k
Code Reviewing Like a Champion
maltzj
524
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Transcript
強すぎるIAMをCloudTrailを使って 適正化した話 2024.10.23 OpsJAWS Meetup31 泥臭いOPSのLT 技術部インフラグループ 鈴⽊裕⼆ Copyright ©
Livesense Inc.
0. 自己紹介 Yuji Suzuki(@yjszk666) Copyright © Livesense Inc. • 仕事:インフラグループでSRE的な動き
◦ 主催:yabaibuki.dev • 略歴 ◦ 無内定卒業→中略→リブセンス • 趣味:公営賭博、地⽅競⾺場は全踏破 • 写真は⼟佐清⽔の⾜摺岬
0. さいきんやってること yabaibuki.devについて Copyright © Livesense Inc. ⾃社で始めた勉強会が3回⽬で、次回は11/28です。 テーマは「やってやったぜ!技術的負債解消」
1 2 3 4 権限が強すぎるIAM user そもそも最⼩権限って何 逆引きで最⼩権限⾒つける まとめ Copyright
© Livesense Inc.
権限が強すぎるIAM user SECTION 1 Copyright © Livesense Inc.
1. 権限が強すぎるIAM user そこは⻑い間 インフラの管理が⼿薄だった部署 Copyright © Livesense Inc.
1. 権限が強すぎるIAM user とあるジョブ実⾏基盤が使⽤するIAM user 処理はS3から取得、ジョブ実⾏、アップ程度 与えられた権限が強すぎるのが発覚 Copyright © Livesense
Inc.
1. 権限が強すぎるIAM user Copyright © Livesense Inc. 当時のを再現
1. 権限が強すぎるIAM user 最⼩権限になおさねば😰 Copyright © Livesense Inc.
そもそも最⼩権限って何 SECTION 2 Copyright © Livesense Inc.
2. そもそも最小権限って何 最⼩権限実現への4ステップアプローチ というAWSの公式ブログがある Copyright © Livesense Inc. https://aws.amazon.com/jp/blogs/news/systematic-approach-for-least-privileges-jp/ https://aws.amazon.com/jp/blogs/news/systematic-approach-for-least-privileges-jp2/
2. そもそも最小権限って何 良い資料ですが設計よりの話なので今回は割愛 Copyright © Livesense Inc. https://aws.amazon.com/jp/blogs/news/systematic-approach-for-least-privileges-jp/ https://aws.amazon.com/jp/blogs/news/systematic-approach-for-least-privileges-jp2/ •
必要最⼩限の権限エリア(A) を把握する • 受容できないビジネス影響を洗 い出す • 受容できないビジネス影響をも たらしうる権限範囲(B)を把 握する など。。
2. そもそも最小権限って何 Copyright © Livesense Inc. https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html IAMのベストプラクティスを眺めてたら なんかあるぞ👁
2. そもそも最小権限って何 Copyright © Livesense Inc. https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html これじゃね?と思ったが…
2. そもそも最小権限って何 - ⼀部有料😭 - CloudTrailからポリシー⽣成するのある ← これが欲しかった! - trailイベントのスキャンは90⽇までしかNGなど痒いところに⼿が届かない
- 今回はユーザーに紐づく全期間の使⽤権限をリストアップしたかった IAM Access Analyzer 製品⾃体は素晴らしいものだがユースケースと合っていなかった こうなったら⾃分でクエリだ Copyright © Livesense Inc.
逆引きで最⼩権限⾒つける SECTION 3 Copyright © Livesense Inc.
3. 逆引きで最小権限見つける Copyright © Livesense Inc. 詳しくはZenn → https://zenn.dev/livesense/articles/b4603beed09454 CloudTrailのAthenaテーブルを作成してクエリします
3. 逆引きで最小権限見つける Copyright © Livesense Inc. 要するにこれです 1 2
3. 逆引きで最小権限見つける Copyright © Livesense Inc. ↑でクエリすると →のようにユーザーに紐づく実際に使⽤した権限がGetできました これを元にIAMポリシーを書き換えれば勝利と思いきや…
3. 逆引きで最小権限見つける トラップが⼀つありました😰 Copyright © Livesense Inc.
3. 逆引きで最小権限見つける Copyright © Livesense Inc. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html - CloudTrail のデフォルト設定では、管理イベントのみが検出されます。
- CloudTrail では、GetObject、DeleteObject、PutObject など、Amazon S3 オブジェク トレベルの API オペレーションのログ記録がサポートされます。これらのイベントは、 データイベントと呼ばれます。 - デフォルトでは CloudTrail 証跡はデータイベントを記録しません S3とCloudTrailのイベントについてドキュメントからの抜粋
3. 逆引きで最小権限見つける データイベント記録やってない つまりCloudTrailからは アクセスしているS3が特定できない? (API CALLがput/getのみなんてよくある) Copyright © Livesense
Inc.
3. 逆引きで最小権限見つける Copyright © Livesense Inc. Q.S3に対してのRequest Parameter⾒ ればいけんじゃないのかな? A.⼀部特定できたが⼀部はできなかった
Try (1)
3. 逆引きで最小権限見つける Copyright © Livesense Inc. 泥臭く⾊々なリポジトリのコードを⾒てアクセスしているバケットを特定 Try (2)
3. 逆引きで最小権限見つける Copyright © Livesense Inc. Try (3) 関係各所に頭を下げながら権限を⼩さくする
3. 逆引きで最小権限見つける 無事最⼩権限に移⾏することができました Copyright © Livesense Inc.
まとめ SECTION 4 Copyright © Livesense Inc.
• 最⼩権限にするには ◦ ブログにある4ステップアプローチやベストプラクティスが基本の考え⽅ • 強い権限をつけちゃって後から間引く場合 ◦ IAM Access Analyzerで作れる(90⽇限定)
◦ ⾃分でCloudTrailをAthenaでクエリする(期間⾃由) • CloudTrailからS3に関してのイベントは管理イベントしか取れない ◦ アプリのコードから⾒た⽅が早い ◦ データイベントを記録すればわかる。ファイルが多くなりすぎてAtnenaがタイムアウトする、それはそれで⼤変。 まとめ 4. まとめ Copyright © Livesense Inc.
None
None