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
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
950
初海外がre:Inventだった人間の感じたこと
tommy0124
1
320
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
システム思考で問題に対処する
yussak
0
320
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.4k
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
110
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
410
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
280
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
140
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
190
関東Kaggler会発表資料
takoi
1
250
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.4k
ラジオの科学
frievea
0
330
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Fireside Chat
paigeccino
42
4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Abbi's Birthday
coloredviolet
3
9.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
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バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある セキュリティは誰かが守るものではなく、みんなで守るものです(みんなの責任) そのため、ロールなどに関係なく、みんなで安全なシステムを築いていきましょう!
ご清聴ありがとうございました!