Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
強すぎるIAMをCloudTrailを使って適正化した話
Search
yjszk
October 23, 2024
Technology
0
480
強すぎる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
360
DMARCレポートの可視化ツールの作成と運用した結果
yjszk
0
230
リブセンスのソリューションチームについて
yjszk
0
930
トイル撲滅から始める改善手法とその結果
yjszk
0
2k
設計という共通認識
yjszk
0
960
LT駆動生活
yjszk
1
1.3k
Other Decks in Technology
See All in Technology
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
210
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
2
170
高度サイバー人材育成専科(後半)
nomizone
0
330
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.7k
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.1k
Identity Management for Agentic AI 解説
fujie
0
320
SREには開発組織全体で向き合う
koh_naga
0
390
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2k
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.4k
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
15
15k
IAMユーザーゼロの運用は果たして可能なのか
yama3133
2
520
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
120
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Designing for Timeless Needs
cassininazir
0
87
Site-Speed That Sticks
csswizardry
13
1k
My Coaching Mixtape
mlcsv
0
8
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Designing for humans not robots
tammielis
254
26k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
89
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
Between Models and Reality
mayunak
0
150
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
75
How to make the Groovebox
asonas
2
1.8k
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