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
460
強すぎる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.4k
技術発信を続ける難しさを行動で乗り切る
yjszk
1
1.6k
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
330
DMARCレポートの可視化ツールの作成と運用した結果
yjszk
0
220
リブセンスのソリューションチームについて
yjszk
0
910
トイル撲滅から始める改善手法とその結果
yjszk
0
2k
設計という共通認識
yjszk
0
930
LT駆動生活
yjszk
1
1.3k
Other Decks in Technology
See All in Technology
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
0
150
AIエージェントを導入する [ 社内ナレッジ活用編 ] / Implement AI agents
glidenote
1
210
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2.4k
Digitization部 紹介資料
sansan33
PRO
1
5.8k
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
7
1.2k
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
260
短期間でRAGシステムを実現 お客様と歩んだ生成AI内製化への道のり
taka0709
1
190
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
480
20251102 WordCamp Kansai 2025
chiilog
1
540
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
690
MCP サーバーの基礎から実践レベルの知識まで
azukiazusa1
14
7.3k
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
330
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
710
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
For a Future-Friendly Web
brad_frost
180
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Why Our Code Smells
bkeepers
PRO
340
57k
Become a Pro
speakerdeck
PRO
29
5.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Statistics for Hackers
jakevdp
799
220k
Scaling GitHub
holman
463
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
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