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
450
強すぎる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.3k
技術発信を続ける難しさを行動で乗り切る
yjszk
1
1.6k
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
310
DMARCレポートの可視化ツールの作成と運用した結果
yjszk
0
200
リブセンスのソリューションチームについて
yjszk
0
880
トイル撲滅から始める改善手法とその結果
yjszk
0
1.9k
設計という共通認識
yjszk
0
900
LT駆動生活
yjszk
1
1.3k
Other Decks in Technology
See All in Technology
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.4k
知られざるprops命名の慣習 アクション編
uhyo
11
2.8k
AWSで推進するデータマネジメント
kawanago
0
560
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
2
130
モバイルアプリ研修
recruitengineers
PRO
5
1.6k
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
110
Flutterでキャッチしないエラーはどこに行く
taiju59
0
190
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
780
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
380
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.3k
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
370
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Six Lessons from altMBA
skipperchong
28
4k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Balancing Empowerment & Direction
lara
3
600
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Facilitating Awesome Meetings
lara
55
6.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
What's in a price? How to price your products and services
michaelherold
246
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1.1k
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