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
EC2→S3で学ぶクロスアカウント権限設計の勘所
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hibiki
November 08, 2025
1.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EC2→S3で学ぶクロスアカウント権限設計の勘所
Hibiki
November 08, 2025
Transcript
44 slides
で学ぶクロスアカウント権限設計の勘所 須永 響
@gravitas580 須永 響 Hibiki Sunaga CTC(伊藤忠テクノソリューションズ株式会社 ) 新卒3年目 業務:AWSインフラ基盤の設計・構築 好きなAWS技術:マルチアカウント、NW
:@gravitas580 About Me
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
@gravitas580 クロスアカウントの権限設計 自信もってできますか?
@gravitas580 クロスアカウント接続での困りごと クロスアカウントでの 権限の挙動がわからない そもそそも IAMポリシーの種類や仕組み よくわからなってないかも 最小権限にしたいけど、 どのアカウントにどの制 限をかければ、、、
@gravitas580 本日のゴール EC2 → S3 というシンプルな構成で クロスアカウントでの権限の勘所を押さえる
@gravitas580 話すこと ➢ バケットポリシーの修正 ➢ AssumeRole利用 ➢ アクセスキー利用 IAMポリシーの種類と仕組み ➢
アイデンティティベースポリシー ➢ リソースベースポリシー クロスアカウント接続の権限設計パターン
@gravitas580 本日検討する構成 システムアカウント のEC2から、 ログアカウント のS3にファイルをアップロードしたい
@gravitas580 クロスアカウントの接続で検討すること ネットワーク接続経路設計 NW どうやってEC2とS3をつなぐか 権限設計 IAM 誰がどの権限でアクセスするのか
@gravitas580 クロスアカウントの接続で検討すること 本日はIAMスペシャル! ⇒ を中心に、 もサクッと紹介 ネットワーク接続経路設計 NW どうやってEC2とS3をつなぐか 権限設計
IAM 誰がどの権限でアクセスするのか IAM NW
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
@gravitas580 接続パターン A) Gateway型VPCエンドポイント経由 B) TGW(or VPCピアリング)&Interface型VPCエンドポイント経由 C) Internet Gateway経由
@gravitas580 接続パターン A) Gateway型VPCエンドポイント経由 ※STSエンドポイント、SSMエンドポイントは記載なし
@gravitas580 接続パターン B) TGW(or VPCピアリング)&Interface型VPCエンドポイント経由 ※STSエンドポイント、SSMエンドポイントは記載なし
@gravitas580 接続パターン C) Internet Gateway経由 ※STSエンドポイント、SSMエンドポイントは記載なし
@gravitas580 接続パターン A) Gateway型VPCエンドポイント経由 B) TGW(or VPCピアリング)&Interface型VPCエンドポイント経由 C) Internet Gateway経由
どのパターンで構築しても、権限設計には影響なし NW要件に応じて設計しましょう おすすめ
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
@gravitas580 同一アカウント内アクセスの場合 どんなポリシーを付与すればよいか?
@gravitas580 同一アカウント内のEC2→S3なら簡単 ⚫ EC2のIAMロールにS3アクション許可ポリシーを付与
@gravitas580 クロスアカウントの場合 同一アカウントのときと同じように 「EC2のIAMロールにS3アクション許可ポリシーを付与」 するだけではダメ
@gravitas580 IAMポリシーの種類 ✓ アイデンティティベースポリシー ✓ リソースベースポリシー 他には、Permission Boundary, SCP, RCP,
ACL, セッションポリシーがある AWS Identity and Access Management でのポリシーとアクセス許可 - AWS Identity and Access Management
@gravitas580 アイデンティティベースポリシー ✓ IAMロール、IAMユーザー、IAMグループに付与するポリシー ✓ 「何をできるか/できないか」の権限を与えるポリシー EC2のIAMロールにつけていたS3アクション許可ポリシーが該当
@gravitas580 リソースベースポリシーとは? ✓ リソースに設定するポリシー ✓ 「誰からのアクセスを許可/拒否するか」を設定するポリシー 例: ➢ S3のバケットポリシー: 誰が
S3バケットに アクセスできるか ➢ IAMロールの信頼ポリシー: 誰が IAMロールを 使用できるか
@gravitas580 EC2→S3のアクセスが可能なのは ✓ アイデンティティベースポリシーで許可 ✓ リソースベースポリシーで許可 ⇒両方揃えばアクセス可能
@gravitas580 実は同一アカウントの場合でも... 同一アカウントでも両方の許可が必要 ➢ EC2:IAMポリシー「 S3アクションを許可」 ➢ S3:バケットポリシー「EC2用IAMロールからのアクセスを許可」 ただし、 バケットポリシーはデフォルトで同一アカウントからのアクセスが許可されている
⇒ EC2へIAMポリシーを付与するだけでよい
@gravitas580 (再掲)EC2→S3のアクセスが可能なのは ✓ アイデンティティベースポリシーで許可 ✓ リソースベースポリシーで許可 ⇒両方揃えばアクセス可能
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
@gravitas580 実装パターン 3つ ① バケットポリシーの修正 ② AssumeRole ③ アクセスキー
@gravitas580 パターン1: バケットポリシーの修正 ⚫ EC2のIAMロールでログアカウントS3へのアクセスを許可 ⚫ S3のバケットポリシーではEC2のIAMロールからのアクセスを許可
@gravitas580 IAMポリシーのCondtion条件で aws:ResourceAccount、aws:ResourceOrgID を指定することで、特定のアカウント/Organizations配下アカウントに制限可能 パターン1: ポリシー設定内容 EC2 IAMポリシー { "Effect":
"Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::my-bucket/*" } S3 バケットポリシー { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2Role" }, "Action": ["s3:PutObject", "s3:GetObject"], "Resource": "arn:aws:s3:::my-bucket/*" } Tips
@gravitas580 パターン1:まとめ ✓ どのアカウントの権限でアクセスしている? ⇒システムアカウントの権限 ✓ バケットポリシーはデフォルトで同一アカウントからの権限のみ許可 ⇒バケットポリシーを修正
@gravitas580 パターン2: AssumeRole ⚫ ログアカウント内にAssumeRole用のIAMロールを作成 ⚫ EC2はログアカウントの権限に切り替えてS3にアクセス
@gravitas580 パターン2:必要なポリシー 3つのポリシーの設定が必要 1. EC2用 IAMポリシー → AssumeRoleの実行を許可 2. ログアカウントIAMロール用
アイデンティティベースポリシー → S3へアクセスを許可 3. ログアカウントIAMロール用 信頼ポリシー → EC2ロールからのAssumeRoleを許可 S3目線では、同じアカウントからのアクセスのためバケットポリシーの修正は不要
@gravitas580 (補足)AssumeRoleの復習 AssumeRole ✓ sts:AssumeRoleというアクションを実行 ✓ 他のロールを借りる際に使用 ✓ 一時的な認証情報を取得 ➢
アクセスキー、シークレットアクセスキー、セッショントークン ※スイッチロール:マネコン上でAssumeRoleをする機能
@gravitas580 パターン2:ポリシー設定内容 EC2 IAMポリシー { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":
"arn:aws:iam::999999999999:role/S3AccessRole" } ログアカウントIAMロール アイデンティティベースポリシー { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::my-bucket/*" } ログアカウントIAMロール 信頼ポリシー { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2Role" }, "Action": "sts:AssumeRole" }
@gravitas580 パターン2:まとめ ✓ どのアカウントの権限でアクセスしている? ⇒AssumeRoleすることで、ログアカウントの権限でアクセス ✓ バケットポリシーはデフォルトで同一アカウントからの権限のみ許可 ⇒(S3から見ると)同一アカウントの権限からのアクセスのため バケットポリシーは修正不要
@gravitas580 パターン3: アクセスキー(非推奨) ⚫ ログアカウントにS3アクションを許可したIAMユーザーを作成 ⚫ EC2内にIAMユーザーのアクセスキーをハードコード
@gravitas580 パターン3:まとめ ✓ どのアカウントの権限でアクセスしている?
@gravitas580 パターン3:まとめ ✓ どのアカウントの権限でアクセスしている? ⇒アクセスキーを使用することで、ログアカウントの権限でアクセス ✓ バケットポリシーはデフォルトで同一アカウントからの権限のみ許可 ⇒(S3から見ると)同一アカウントの権限からのアクセスのため バケットポリシーは修正不要
@gravitas580 アクセスする権限の違い バケットポリシーの修正では、システムアカウントの権限でアクセス AssumeRoleでは、ログアカウントの権限でアクセス
@gravitas580 アクセスする権限の違い 権限を一元管理するという点からも、AssumeRole推奨
アジェンダ @gravitas580 01 02 03 04 05 本日のテーマとゴール ネットワーク接続経路の設計パターン ポリシーの種類と使い方
クロスアカウントアクセスの権限設計パターン まとめ
@gravitas580 まとめ ⚫ クロスアカウントでのアクセスは、疎通性や権限に要注意 ⚫ クロスアカウントでの接続時にはどのアカウントの権限を使用しているのか 意識するとSCP等の設計も組みやすくなる ➢ IAM Identity
Centerはログイン先アカウントのIAMロールを使用している ⚫ 実際はSCP, RCP, Permisson Boundary, ACLなども影響してくるので まだまだ奥は深い ➢ 気になる方は「 ポリシー 評価ロジック フローチャート」などで検索
More Decks by Hibiki
See All by Hibiki
[NW-JAWS]2025年版AWS IPv6関連アップデート
hibikisuaga
0
120
CloudWatchでちょっと楽してマルチアカウント監視
hibikisuaga
0
87
Network FirewallとTransit Gateway統合
hibikisuaga
3
540
NW-JAWS VPC間接続のまとめ
hibikisuaga
0
56
MFA必須化でハマった謎エラー
hibikisuaga
0
110
NW-JAWS ルートテーブルとエンドポイント入門
hibikisuaga
2
900
Amplify_Reactで爆速アプリ開発.pdf
hibikisuaga
0
52
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.7k
エンジニアに許された特別な時間の終わり
watany
109
250k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
Agile that works and the tools we love
rasmusluckow
331
22k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
New Earth Scene 8
popppiees
5
2.8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
640
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
The Language of Interfaces
destraynor
162
27k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
The Invisible Side of Design
smashingmag
301
52k
So, you think you're a good person
axbom
PRO
2
2.3k