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
510
強すぎる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.5k
技術発信を続ける難しさを行動で乗り切る
yjszk
1
1.6k
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
400
DMARCレポートの可視化ツールの作成と運用した結果
yjszk
0
250
リブセンスのソリューションチームについて
yjszk
0
980
トイル撲滅から始める改善手法とその結果
yjszk
0
2k
設計という共通認識
yjszk
0
1k
LT駆動生活
yjszk
1
1.4k
Other Decks in Technology
See All in Technology
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
7
1.2k
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
210
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
300
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
350
【SLO】"多様な期待値" と向き合ってみた
z63d
2
310
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
4
750
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
430
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
610
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
わたしがセキュアにAWSを使えるわけないじゃん、ムリムリ!(※ムリじゃなかった!?)
cmusudakeisuke
1
420
マネージャー版 "提案のレベル" を上げる
konifar
21
14k
Featured
See All Featured
Amusing Abliteration
ianozsvald
0
120
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
RailsConf 2023
tenderlove
30
1.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
250
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Exploring anti-patterns in Rails
aemeredith
2
280
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
82
[SF Ruby Conf 2025] Rails X
palkan
2
820
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Building Adaptive Systems
keathley
44
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