Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20250415_外部ID_「混乱する代理問題」に混乱する
Search
sato
April 17, 2025
Technology
23
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20250415_外部ID_「混乱する代理問題」に混乱する
sato
April 17, 2025
More Decks by sato
See All by sato
20260227_AgentCore勉強会①
sat0
0
9
20251013_Bedrock_Guardrails
sat0
0
10
20250122_flAWS.pdf
sat0
0
5
LLMについて深く知る
sat0
0
16
Other Decks in Technology
See All in Technology
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
200
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
WasmをRustにする
sansantech
PRO
0
280
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
440
Refining Active Record
shugo
0
160
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
310
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Code Reviewing Like a Champion
maltzj
529
40k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Side Projects
sachag
456
43k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Art, The Web, and Tiny UX
lynnandtonic
304
22k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Technical Leadership for Architectural Decision Making
baasie
3
600
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Transcript
Copyright © SCSK Corporation 20250416豊洲会 「混乱する代理問題」に混乱する SCSK株式会社 渡邉智士 2025年4月16日
1 Copyright © SCSK Corporation Internet 少し背景の話 ◼ Datadog監視のイメージ
2 Copyright © SCSK Corporation Datadog Learning Courseで勉強 ◼ AWSのインテグレーションに関する講座が
無料公開されている ⚫ Datadogのラボ環境(14日間有効)とハンズ オン用のAWSアカウント(2時間制限)が払い 出される ⚫ 各種インテグレーションをセッティングしAWS 監視の仕方を一通り学べる ◼ が、一部の設定は自動化済み ⚫ ハンズオン環境を立ち上げた瞬間に CloudFormationが実行されてインテグレー ション設定は紐付けが不要 ⚫ 「気がついたら設定されている」状態だったの で勉強のため手動設定マニュアルを眺める
3 Copyright © SCSK Corporation 外部IDとは…? ◼ サードパーティのサービス提供者とAWSアカウントを連携する際に、作成したIAMロールに信 頼ポリシーを作成し ⚫
プリンシパルを制限 ⚫ 外部IDを指定 https://docs.fortinet.com/document/forticnp/22.4.a/online-help/78501/update-aws-role-external-id 外部IDの謎 ⚫ 信頼関係でエンティティを制限しているのに 二重に認証をしている? ⚫ シークレットっぽいのにアクセスキーとなどと 異なりコンソールから見ることができる? ここから本題
4 Copyright © SCSK Corporation ドキュメントを見てみる このシナリオでは、次のことを前提としています。 • AWS1 はあなたの
AWS アカウント。 • AWS1:ExampleRole は、お客様のアカウントのロールである。このロールの信頼ポリシーは、Example Corp の AWS アカウントを、ロールを引き受け ることができるアカウントとして指定することによって、Example Corp を信頼しています。 次の状況が発生します。 1. お客様は、Example Corp のサービスの使用を開始するとき、AWS1:ExampleRole の ARN を Example Corp に提供します。 2. Example Corp はそのロールの ARN を使用して、お客様の AWS アカウント のリソースにアクセスするために必要な一時的なセキュリティ認証情報 を入手します。この方法では、お客様に代わって操作を実行できる "代理" として Example Corp を信頼します。 3. 別の AWS ユーザーも Example Corp のサービスを利用し始め、このユーザーも AWS1:ExampleRole の ARN を Example Corp が使用できるように提 供するとします。この別のユーザーは、秘密ではない AWS1:ExampleRole を知った、または推測した可能性があります。 4. その別のユーザーが Example Corp に自分のアカウントの AWS リソース (そう自称しているリソース) へのアクセスを依頼すると、Example Corp は AWS1:ExampleRole を使用してお客様のアカウントのリソースにアクセスします。 このようにして、その別のユーザーはお客様のリソースに不正にアクセスできます。Example Corp は、この別のユーザーによって操られ、無意識にお 客様のリソースにアクセスしたため、"混乱した代理" になります。 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/confused-deputy.html ◼ 「混乱する代理問題」が鍵となるらしいが…
5 Copyright © SCSK Corporation なるほどね? よくわかんない
6 Copyright © SCSK Corporation というわけで ◼ 外部IDと混乱する代理問題を分かりやすい喩えで説明したい ⚫ 元ネタ:クラメソのAssumeRoleの記事
https://dev.classmethod.jp/articles/iam-role-passrole-assumerole/
7 Copyright © SCSK Corporation 混乱する代理問題をたとえてみる:正常な状態 ◼ 株式会社◯✕での作業を業者Aに委託する ⚫ 作業には入館証が必要だが、業者の情報を紐つけて作成済み。
⚫ 業者A本人が株式会社◯✕の受付で入館証の登録名「ギョウシャエ-ヨウパス」を伝えれば入館証を貰える 業者A 「ギョウシャエ-ヨウパス」 有効化済 ◆私の会社は株式会社◯✕です、 代わりに作業を頼みますよ ◆入館証は「ギョウシャエ-ヨウパス」という名 前で登録済みだから、受付でその名 前を伝えて入館証をもらってね 株式会社◯✕ 依頼 あなた 「ギョウシャエ-ヨウパス」 事前の取り決め
8 Copyright © SCSK Corporation 混乱する代理問題をたとえてみる:第三者による攻撃 ◼ 攻撃者が入館証の名前を推測し、偽りの登録情報とともに業者と取り決めを行う ⚫ 業者は正当な手続きをもって入館証を手に入れ、攻撃者の意図した作業を行ってしまう
⚫ 攻撃者は「あなた」になりすましている訳ではない 業者A 「ギョウシャエ-ヨウパス」 有効化済 ◆私の会社は株式会社◯✕です、 代わりに作業を頼みますよ ◆入館証は「ギョウシャエ-ヨウパス」という名 前で登録済みだから、受付でその名 前を伝えて入館証をもらってね 株式会社◯✕ 依頼 攻撃者 事前の取り決め 入館証の 登録名を推測 「ギョウシャエ-ヨウパス」
9 Copyright © SCSK Corporation 再考: 混乱する代理問題 ◼ 会社➔AWS環境、業者の情報を登録した入館証➔信頼関係を設定したIAMロール ⚫
サービス提供者は依頼元の識別をできないがそのままアクセス権限を持ててしまう ⚫ サードパーティーによるリソースの使用はユーザーに請求される サービス提供者 ユーザ/攻撃者 AWS Cloud: 1111222233334444 “ApplicationRole” 信頼ポリシー AWS Account: 1111222233334444 Role ARN: “ApplicationRole” AssumeRole
10 Copyright © SCSK Corporation 外部IDの導入 ◼ サービス提供者がユーザごとに一意な外部IDを発行 ⚫ ユーザはあらかじめ信頼ポリシーの条件に外部IDを設定しておく
⚫ サービス提供者はAssumeRoleのリクエストに外部IDを含める サービス提供者 ユーザ/攻撃者 AWS Cloud: 1111222233334444 “ApplicationRole” 信頼ポリシー・外部ID AWS Account: 1111222233334444 Role ARN: “ApplicationRole” AssumeRole 外部IDを渡す
11 Copyright © SCSK Corporation 外部IDをたとえてみる:通常利用 ◼ 業者は事前の取り決めとして「合言葉」(外部ID)を発行 ⚫ 業者は入館証を受け取る際に合言葉を併せて伝え、これが正しければ受付は入館証を渡す
業者A 「ギョウシャエ-ヨウパス」 有効化済 ◆私の会社は株式会社◯✕です、 代わりに作業を頼みますよ ◆入館証は「ギョウシャエ-ヨウパス」という名 前で登録済みだから、受付でその名 前を伝えて入館証をもらってね 株式会社◯✕ あなた ギョウシャエ-ヨウパス、あいうえお 事前の取り決め 了解、あなたの合言葉は「あいうえお」ね これで入館証を保護しといて 事前の取り決め
12 Copyright © SCSK Corporation 外部IDをたとえてみる:攻撃の失敗 ◼ 万が一攻撃者があなたの合言葉を知ったとしても、業者は攻撃者向けに発行した合言葉を 使って入館証を受け取ろうとするため失敗する 業者A
「ギョウシャエ-ヨウパス」 有効化済 ◆私の会社は株式会社◯✕です、 代わりに作業を頼みますよ ◆入館証は「ギョウシャエ-ヨウパス」という名 前で登録済みだから、受付でその名 前を伝えて入館証をもらってね 株式会社◯✕ 攻撃者 ギョウシャエ-ヨウパス、いろはにほ 事前の取り決め 了解、あなたの合言葉は「いろはにほ」ね これで入館証を保護しといて 事前の取り決め
13 Copyright © SCSK Corporation まとめ ◼ 信頼関係でエンティティを制限しているのに二重に認証をしている? ➔ 外部IDは二重の認証ではなく、エンティティに加えて目的によってロールの利用を制限している
◼ アクセスキーとなどと異なりコンソールから見ることができる? ➔ 外部IDは認証情報ではなく、認可のための識別情報の役割。 仮に外部IDが漏れたとしても、プリンシパルが制限されているので権限を不正利用されることはない ⚫ 外部IDはユーザごとに一意である事が重要。このためUUIDがよく使われシークレットのように見える ご清聴ありがとうございました
None