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
S3アクセス制御の設計ポイント
Search
tommy
September 10, 2025
Technology
360
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
S3アクセス制御の設計ポイント
tommy
September 10, 2025
More Decks by tommy
See All by tommy
Change Calendarで今はOK?を仕組みにする
tommy0124
1
250
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
1k
初海外がre:Inventだった人間の感じたこと
tommy0124
1
320
Other Decks in Technology
See All in Technology
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
810
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
6
770
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.1k
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
570
ボードゲームの遊び相手をFoundation Modelsで作る / iOSDC Japan 2026
genda
0
200
手を動かして実感する、Kiro が変える開発体験
inariku
0
370
Hermes Agentで、AIが調べて記事を書くブログを作った話
blueb
0
110
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
120
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
540
What the customer really needed
kawaguti
PRO
3
230
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
560
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Designing for humans not robots
tammielis
254
26k
How STYLIGHT went responsive
nonsquared
100
6.3k
RailsConf 2023
tenderlove
30
1.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
30 Presentation Tips
portentint
PRO
1
410
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
Transcript
S3アクセス制御の設計ポイント
アジェンダ ⚫ 自己紹介 ⚫ S3バケットへのアクセス制御方法 ⚫ アクセス制御の設計ポイント ⚫ まとめ
自己紹介
自己紹介 ⚫ 名前:富田 惠仁 (@mohanashi999) ⚫ 所属:イメージソリューションとかやるSIer ⚫ 趣味:野球観戦(贔屓は福岡の某球団) ⚫
好きなAWSサービス:Step Functions
S3バケットのアクセス制御方法
S3バケットのアクセス制御方法 その前に
S3バケットの利用ケース S3バケットは、高い耐久性や可用性、低コスト等といった点から、 様々な用途での利用が想定される ・アプリケーションデータの保管 ・静的Webコンテンツ ・ログ集約 ・バックアップ ・アーカイブ ・データ分析 等々・・・
S3バケットの利用ケース S3バケットは、高い耐久性や可用性、低コスト等といった点から、 様々な用途での利用が想定される ・アプリケーションデータの保管 ・静的Webコンテンツ ・ログ集約 ・バックアップ ・アーカイブ ・データ分析 等々・・・
便利な反面、考慮すべきこともある
S3バケットのアクセス制御方法 改めて・・・
S3バケットへのアクセス制御方法 主に以下にてアクセス制御を行うことが可能。 ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー
※VPC内からアクセスがある場合 ⚫ KMSキーポリシー ※CMK利用の場合 <今回の対象外> (通称言い訳リスト) • アクセスコントロールリスト(ACL)でも制御可能ですが、現在非推奨のため、今回の対象外とします • ブロックパブリックアクセスでも制御可能ですが、名前のとおりパブリックアクセスをブロック可否だけであるため、今回の対象外とします • 署名付きURLでも制御可能ですが、一時的なものであるため今回の対象外とします • Organizationsのサービスコントロールポリシー(SCP)やリソースコントロールポリシー(RCP)でも制御可能ですが、 マルチアカウントを考慮する場合、内容が煩雑になるので便宜上、今回の対象外とします • CloudFront経由でアクセスする場合はOACやOAI(非推奨)等もありますが、S3バケットポリシーやブロックパブリックアクセス等の+@といった 立ち位置になるため、今回の対象外とします
S3バケットポリシーによるアクセス制御 超ざっくりにS3バケットポリシーとは・・・ S3バケットと配下のオブジェクトへのアクセスを制御するリソースベースのポリシー AWS Cloud Lambda EC2 S3 ◆アーキテクチャ例
S3アクセスポイント(ポリシー)によるアクセス制御 超ざっくりにS3アクセスポイントとは・・・ S3バケットに対して用途ごとに専用のアクセスするポイントを作成する機能 超ざっくりにS3アクセスポイントポリシーとは・・・ 特定のS3アクセスポイント経由のアクセスを制御するリソースベースのポリシー AWS Cloud Lambda EC2 S3
◆アーキテクチャ例 アクセス ポイント アクセス ポイント S3バケットポリシーは、バケット全体に適用するため、複数のア クセス設定を1つで行うことになるが、アクセスポイントを利用す れば、各用途ごとにアクセス設定が可能となる。 そのため管理がシンプルになり、メンテナンス等も行いやすい。 仕様上ポリシーサイズが20,480バイト以内である必要がある ので、バケットポリシーのみだと、規模によっては定義しきれな い・拡張できないといったこともあるが、それらを防ぐこともできる。
IAMポリシーによるアクセス制御 超ざっくりにIAMポリシーとは・・・ IAMユーザー/グループ/ロールが実行できるアクションと対象リソースを制御するアイデンティ ティベースのポリシー AWS Cloud Lambda EC2 S3 ◆アーキテクチャ例
IAMロール (IAMポリシー) IAMロール (IAMポリシー)
VPCエンドポイントポリシーによるアクセス制御 超ざっくりにVPCエンドポイントポリシーとは・・・ どのAWSプリンシパルがVPCエンドポイント経由で対象サービスにアクセスできるかを制御する、 VPCエンドポイントに適用するリソースベースのポリシー(エンドポイント経由のアクセスにのみ適 用) AWS Cloud Lambda EC2 S3
◆アーキテクチャ例 IAMロール (IAMポリシー) IAMロール (IAMポリシー) VPC VPCエンドポイント (ゲートウェイ型)
KMSキーポリシーによるアクセス制御 超ざっくりにKMSキーポリシーとは・・・ KMSキーへのアクセスを制御するリソースベースのポリシー (AWSマネージドキーの場合はポリシー編集不可) AWS Cloud Lambda EC2 S3 ◆アーキテクチャ例
KMS(CMK)
アクセス制御の設計ポイント
前提:システム構成 文章だけだとイメージしづらいため、Webサイトに画像ファイルをアップロードすると、変換してく れるアプリケーションがあると仮定します。(かなりざっくりでテキトーです。) アプリケーション バケットA EC2 VPCエンドポイント (ゲートウェイ型) AWS Cloud
VPC Lambda ALB WAF クライアント
①S3バケットの整理 ①各S3バケット(対象)に何のデータを格納するかを整理 ※この時に、機密データ有無やCMK利用有無も整理する
①S3バケットの整理 ①各S3バケット(対象)に何のデータを格納するかを整理 ※この時に、機密データ有無やCMK利用有無も整理する そうすることで、以下のアクセス制御部分が判別可能 ⚫ S3バケットポリシー ※全S3バケットで設定可能のため対象外 ⚫ S3アクセスポイント(ポリシー) ※全S3バケットで設定可能のため対象外
⚫ IAMポリシー ⚫ VPCエンドポイントポリシー ※VPC内からアクセスがある場合 ⚫ KMSキーポリシー ※CMK利用の場合
S3バケット 対象 格納データ 機密データ CMK CloudTrailログ保管バケット CloudTrailログ Config構成履歴保管バケット Config構成履歴 GuardDuty脅威検出ログ保管バケット
GuardDuty脅威検出ログ • VPCフローログ保管バケット VPCフローログ WAFログ保管バケット Web ACLトラフィックログ ALBログ保管バケット ALBアクセスログ、接続ログ アプリケーションバケットA 画像ファイル • アプリケーションログ保管バケットA Cloudwatch Logsログ (EC2アプリログ、Lambda実行ログ等) ①S3バケットの整理 ①各S3バケット(対象)に何のデータを格納するかを整理 ※この時に、機密データ有無やCMK利用有無も整理する ◆システム構成に対する整理例
②アクセスパターンの整理 前段の①に対して、誰が(主体)、何のために(目的)、どのようにアクセスし(経路)、何をする(操 作)かを整理 ※この時に、それぞれのアクセスパターンに対して、IAMポリシー有無およびVPCエンドポイント 経由有無もあわせて整理する
②アクセスパターンの整理 前段の①に対して、誰が(主体)、何のために(目的)、どのようにアクセスし(経路)、何をする(操 作)かを整理 ※この時に、それぞれのアクセスパターンに対して、IAMポリシー有無およびVPCエンドポイント 経由有無もあわせて整理する そうすることで、以下のアクセス制御部分が判別可能 ⚫ S3バケットポリシー ※全S3バケットで設定可能のため対象外 ⚫
S3アクセスポイント(ポリシー) ※全S3バケットで設定可能のため対象外 ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー ※VPC内からアクセスがある場合 ⚫ KMSキーポリシー ※CMK利用の場合
S3バケット 誰が 何のために どのようにアクセスし 何をする 対象 格納データ 機密データ CMK 主体
IAMポリシー 目的 経路 VPCE経由 操作 CloudTrailログ保管バケット CloudTrailログ CloudTrail 監査証跡の長期保管と改ざん検知(整合性検証)、組 織集約のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り・リスト 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み Config構成履歴保管バケット Config構成履歴 Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 書き込み 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み GuardDuty脅威検出ログ保管バケット GuardDuty脅威検出ログ • GuardDuty 検知結果のアーカイブのため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み VPCフローログ保管バケット VPCフローログ VPC 通信データのトラブルシュート/セキュリティ分析のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み WAFログ保管バケット Web ACLトラフィックログ WAF ヒット/ブロックログの可視化・分析と事後調査のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み ALBログ保管バケット ALBアクセスログ、接続ログ ALB アクセス解析・異常検知・障害調査のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み アプリケーションバケットA 画像ファイル • EC2 • アプリケーション処理 主体サービスからAWS内部ネットワーク経由 • 読み取り・リスト・書き込み Lambda • アプリケーション処理 主体サービスからAWS内部ネットワーク経由 読み取り・リスト・書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト アプリケーションログ保管バケットA Cloudwatch Logsログ DataFirehose • ログの長期保管(障害調査等のため) 主体サービスからAWS内部ネットワーク経由 書き込み (EC2アプリログ、Lambda実行ログ等) Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み ※本来はアクションベースでもう少し詳細化が望ましい ②アクセスパターンの整理 前段の①に対して、誰が(主体)、何のために(目的)、どのようにアクセスし(経路)、何をする(操 作)かを整理 ※この時に、それぞれのアクセスパターンに対して、IAMポリシー有無およびVPCエンドポイント 経由有無もあわせて整理する ◆システム構成に対する整理例
③アクセス制御の設計 どの箇所で、どのように制御するかの万能な正解はない。 そのため、要件やデータ特性(機密性など)、運用面等を考慮して設計する必要がある。 例えば、セキュリティ要件が厳しい場合は、多層防御として各ポイントでそれぞれフルカスタムの アクセス制御を行うことで、一部で誤設定などがあったとしても、別ポイントで制御可能なためリ スクを低減できる。 一方で、複雑化するため、トラブルシュートに時間を要したり、設定変更時は全てに対して反映 する必要があったりとデメリットもあり。
まとめ
まとめ 1.S3バケットのアクセス制御方法は主に以下がある ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー(VPC内からアクセスがある場合)
⚫ KMSキーポリシー(CMK利用の場合) 2.どの箇所でどのようにアクセス制御するかは、S3バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある
まとめ 1.S3バケットのアクセス制御方法は主に以下がある ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー(VPC内からアクセスがある場合)
⚫ KMSキーポリシー(CMK利用の場合) 2.どの箇所でどのようにアクセス制御するかは、S3バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある セキュリティは誰かが守るものではなく、みんなで守るものです(みんなの責任) そのため、ロールなどに関係なく、みんなで安全なシステムを築いていきましょう!
ご清聴ありがとうございました!