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
S3アクセス制御の設計ポイント
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tommy
September 10, 2025
Technology
350
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
240
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
940
初海外がre:Inventだった人間の感じたこと
tommy0124
1
320
Other Decks in Technology
See All in Technology
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
170
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
150
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
620
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
660
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.7k
関東Kaggler会発表資料
takoi
1
160
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
390
事業価値と Engineering 2026年度版
recruitengineers
PRO
42
22k
ガバメントクラウドでのランサムウェア対策
techniczna
2
980
Pavlokで始める電撃駆動開発
sgrsn
0
180
20260801_スクフェス大阪
kgnkhkr
2
1.2k
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Everyday Curiosity
cassininazir
0
270
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
Technical Leadership for Architectural Decision Making
baasie
3
470
Producing Creativity
orderedlist
PRO
348
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
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バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある セキュリティは誰かが守るものではなく、みんなで守るものです(みんなの責任) そのため、ロールなどに関係なく、みんなで安全なシステムを築いていきましょう!
ご清聴ありがとうございました!