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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ryoAccount
November 26, 2025
Technology
29
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
S3は問答無用で非公開!!
Security.any #07 がんばったセキュリティLT の発表スライドです。
https://security-any.connpass.com/event/368802/
ryoAccount
November 26, 2025
More Decks by ryoAccount
See All by ryoAccount
あなたの知らないFirewallの世界
ryoaccount
0
33
そこにAIはあるか?
ryoaccount
0
64
最大のアウトプット術は問題を作ること
ryoaccount
0
430
Code Reliability
ryoaccount
0
18
XSS?なんですかそれ?
ryoaccount
0
70
0から始めるセキュリティ
ryoaccount
0
130
エンジニアが考えるUI/UX
ryoaccount
0
23
Other Decks in Technology
See All in Technology
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
1
160
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
180
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
2
170
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
貴方はどのエンジニアリングを磨くのか
hatyibei
0
120
知らん間に、回ってる
ming_ayami
0
500
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
350
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.7k
Claude Codeとハーネスについて考えてみる
oikon48
18
9.3k
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
270
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
2.8k
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
190
Docker and Python
trallard
47
3.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Designing for Timeless Needs
cassininazir
1
320
4 Signs Your Business is Dying
shpigford
187
22k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
It's Worth the Effort
3n
188
29k
Transcript
Date Your Footer Here 1 S3は問答無用で非公開!! Keep S3 Private !!
Security.any #07 がんばったセキュリティLT 2025.11.25 RYO
自己紹介 • 某人材系Webサービスを展開する企業にて、主にイン フラ(AWS)のセキュリティ対策や脆弱性管理を1人で従 事 • どうすればDevSecOpsを組織に浸透させられるか日々 悩み中 • CTFとか社内でやってみたり...
• CISSPと英語勉強中... 2 RYO
今日話すこと Today’s Topic
Date Your Footer Here 4 今日話すこと
Amazon S3 ? Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラ
ビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオ ブジェクトストレージサービスです。 あらゆる規模や業界のお客様が、Amazon S3 を使用して、データレイク、 ウェブサイト、モバイルアプリケーション、バックアップおよび復元、アーカ イブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析な ど、広範なユースケースのデータを容量にかかわらず、保存して保護する ことができます。 出典: ユーザガイド Amazon S3 とは
Amazon S3 ? Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラ
ビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオ ブジェクトストレージサービスです。 あらゆる規模や業界のお客様が、Amazon S3 を使用して、データレイク、 ウェブサイト、モバイルアプリケーション、バックアップおよび復元、アーカ イブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析な ど、広範なユースケースのデータを容量にかかわらず、保存して保護する ことができます。 出典: ユーザガイド Amazon S3 とは Google Drive iCloud DropBox みたいなもんか
伝えたいこと I want to say … 7
伝えたいこと • ブロックパブリックアクセス設定をONにせよ • バケットポリシーはAllowステートメントだけで構成せよ
伝えたいこと • ブロックパブリックアクセス設定をONにせよ • バケットポリシーはAllowステートメントだけで構成せよ ブロックパブリック アクセス設定?
ブロックパブリックアクセス設定とは? AWS S3バケットやオブジェクトへの意図しない公開を防ぐためのセキュリ ティ機能です これを有効にすると、パブリックアクセスを許可するルールが設定されてい ても、強制的にそのルールを遮断できます 2023/04から新規作成されるS3バケットはブロックパブリックアクセス設定 がデフォルトで ONとなった なので、基本的にはONにしておくのが推奨(AWS公式も推奨)
(ちなみに..)公開したい場合は? Webサイトに掲載する画像や動画などの公開する前提のファイルを格納 する場合、S3バケットを公開してもよい...?🤔
(ちなみに..)公開したい場合は? Webサイトに掲載する画像や動画などの公開する前提のファイルを格納 する場合、S3バケットを公開してもよい...?🤔 答えは「No」で、WAFとCloudFront(CDN)をS3バケットの前に配置するのが 安全。 WAF ・DDoS対策 ・悪意のあるアクセスのブロック CloudFront ・レスポンス(応答速度)の改善
・データ転送量の抑制 → コスト削減
伝えたいこと • ブロックパブリックアクセス設定をONにせよ • バケットポリシーはAllowステートメントだけで構成せよ バケット ポリシー?
バケットポリシーとは? S3バケットに対するアクセスルールを定義する設定ファイルです。 「誰が」「どんな操作を」「どんな条件で」実行できるかをJSON形式で書きま す。 アクセスできる条件(Allow)とアクセスできない条件(Deny)を記載できる が、基本はAllowのみで構成することを推奨します。 理由はアクセス制御の単純化とDenyは強力過ぎる場合があるため。
Denyは誰もアクセスできない原因に... アクセスできない条件(Deny)は設定を間違えると、S3バケットの所有者で ある自分自身ですらアクセスできなくなる。 { "Effect": "Deny", "Principal": "*", "Action": "s3:*",
"Resource": [ "arn:aws:s3:::example-bucket","arn:aws:s3:::example-bucket/*" ], "Condition": { "StringNotLike": { "aws:userId": ["arn:aws:iam::123456789012:role/MyRole"] } } } 設定を間違えたバケットポリシーの例 (どこを間違えているかわかりますか?)
Denyは誰もアクセスできない原因に... アクセスできない条件(Deny)は設定を間違えると、S3バケットの所有者で ある自分自身ですらアクセスできなくなる。 { "Effect": "Deny", "Principal": "*", "Action": "s3:*",
"Resource": [ "arn:aws:s3:::example-bucket","arn:aws:s3:::example-bucket/*" ], "Condition": { "StringNotLike": { "aws:userId": ["arn:aws:iam::123456789012:role/MyRole"] } } } 内部的な一意のID(例:AROAXO2RZRXXXXXX:*)を指 定すべきなのに、ARNを設定している。 結果として、誰もアクセスできなくなる可能性がある。
今年がんばった こと Thank you for your hard work
今年がんばったこと 18 公開されてしまっているS3バケットに ブロックパブリックアクセス設定をONにする
案外、公開されがち? 19 • 新規作成されるS3バケットがデフォルトでブロックパブリックアクセス 設定がONとなったのは、2023/04から • それ以前から開発されているシステムでは案外、公開された状態で 運用してしまっている(可能性がある)😨
なぜ、がんばる羽目になったか? • 既存のアクセス経路が不透明 • 誰が・いつ・どこから・どのオブジェクトをどの方法でアクセスしているか完全 に把握するのはそこそこ難しい • 残念ながらS3サーバアクセスログを取得していなかった • 各所に調整が必要
• アプリケーションだけでなく、他部署・協力会社・利用しているSaaSなどいろい ろなところからパブリックアクセスしていた • 非公開にするには各所に影響があり、説明して対応してもらう必要があった • アクセス制御の知識が必要 • Amazon Simple Storage Serviceという名前の割に、IAMポリシー・バケットポリ シー・ACL・所有権などアクセスを制御する仕組みが複雑
苦労したこと It’s too difficult … 21
誰がいつアクセスしているかわからない • 状況 • S3バケットにはDBのテーブル定義書が保管されている • 開発者に聞いても業務で全く使ってないらしい... • じゃあ不要か聞いたらわからないと言われ... •
対応 • CloudTrail でアクセス履歴を確認する • 誰が、いつ、どのIPから、どのオブジェクトにアクセスしたか? • 関係者を調べる • 開発者以外でテーブル定義書を必要とする人は? • 結局、データアナリストの分析のための資料としてごく稀に参照してい たことがわかった • CloudFrontを立てて、そちらからアクセスするように変更 社内事情に関する内容のため非公開 <(_ _)>
• 状況 • S3バケットにはDBのテーブル定義書が保管されている • 開発者に聞いても業務で全く使ってないらしい... • じゃあ不要か聞いたらわからないと言われ... • 対応
• CloudTrail でアクセス履歴を確認する • 誰が、いつ、どのIPから、どのオブジェクトにアクセスしたか? • 関係者を調べる • 開発者以外でテーブル定義書を必要とする人は? • 結局、データアナリストの分析のための資料としてごく稀に参照してい たことがわかった • CloudFrontを立てて、そちらからアクセスするように変更 誰がいつアクセスしているかわからない 社内事情に関する内容のため非公開 <(_ _)> ADRを書くとか IaCにコメントを残 すとか 用途を記す習慣が あればいいのに...
業務に影響するから無理と言われる • 状況 • S3バケットにはアプリケーションだけでなく、社内の別部署や外 部の協力会社からもアクセスがある • 開発者にS3バケットを非公開にできないか相談したら、業務影響 が大きいから無理と言われる... •
対応 • 非公開にする必要性を訴える • 発生するリスクをしっかり伝えて、やる意義・やる価値の認識を合わ せる • 具体的な対応手順を伝える • 改善後のAWSの構成図を作ったり、IaCを代わりに実装したり、開発者 の手間をできるだけ減らす 社内事情に関する内容のため非公開 <(_ _)>
• 状況 • S3バケットにはアプリケーションだけでなく、社内の別部署や外 部の協力会社からもアクセスがある • 開発者にS3バケットを非公開にできないか相談したら、業務影響 が大きいから無理と言われる... • 対応
• 非公開にする必要性を訴える • 発生するリスクをしっかり伝えて、やる意義・やる価値の認識を合わ せる • 具体的な対応手順を伝える • 改善後のAWSの構成図を作ったり、IaCを代わりに実装したり、開発者 の手間をできるだけ減らす 業務に影響するから無理と言われる 社内事情に関する内容のため非公開 <(_ _)> 業務に影響するな ら尚更、公開した らダメでは...?
アクセス制御の理解が難しい 突然ですが、クイズです。 次の状況でBさんはファイルにアクセスできるか?できないか? • AさんがS3バケットにファイルをアップロードします • Bさんがファイルにアクセスを試みます • BさんはS3オブジェクトへのアクセス権(s3:GetObject)を持っています •
バケットポリシーでは誰からのアクセスも許可(Allow)しています • オブジェクト所有者はオブジェクトライターであるAさんです • ACLはオブジェクト所有者(AWSアカウント)に読み取り権限が与えられています Aさん Bさん GetObject
正解:ファイルにアクセスできない 解説 Bさんの権限(IAMロール)とバケットポリシーではアクセスが許可されている しかし、オブジェクトの所有者である Aさんが、オブジェクトレベルでアクセス許可を ACLで付与し ていない場合、 Bさんは AccessDenied エラーになる
バケットポリシーと ACLの両方で許可しなければアクセスできない ややこしいので ACLは最初から無効にしておくとよい( AWSもACLを非推奨としている) オブジェクト所有者を「常にバケット所有者」にすれば ACLは無効にできる Aさん Bさん GetObject
アクセス制御の理解が難しい ver2 もう1問、クイズです。 次の状況でBさんはファイルにアクセスできるか?できないか? • AさんがS3バケットにファイルをアップロードします • Bさんがファイルにアクセスを試みます • BさんはS3バケットへのアクセス権(s3:GetObject)を持っています
• バケットポリシーでは社内IP以外からのアクセスを拒否(Deny)します • Bさんは社内にいます • ACLは無効にしています Aさん Bさん GetObject
正解:ファイルにアクセスできない 解説 社内IP以外からのアクセスは拒否(Deny)しているからと言って、社内IPからのアクセスが 許可(Allow)されるわけではない アクセスするには明示的なBさんへの許可(Allow)の条件が記載されている必要があり、 それが無ければBさんは AccessDenied エラーになる バケットポリシーではAllowステートメントのみで構成した方がシンプル 許可(Allow)される条件に該当しない
= 拒否(Deny)される、という暗黙的な拒否が成立する Aさん Bさん GetObject
まとめ Summary
まとめ • ブロックパブリックアクセス設定は最初から ONの状態でS3バケット を利用開始すべし • 運用が始まったら誰がいつアクセスしているか調査が面倒 • 後でONにするのはそこそこ手間がかかる •
誤って公開されないのでセキュリティ的にも安心 • アクセス権限管理はシンプルにすべし • バケットポリシーは極力、Allowステートメントで構成する • オブジェクト所有者を「バケット所有者」に固定しておくとACLを無効にできるの でよい
ご清聴ありがとう ございました Thank you for your attention !! Date Your
Footer Here 32
www.PresentationGO.com The free PowerPoint and Google Slides template library Designed
with by