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
amarelo_n24
September 09, 2025
Education
1
190
バケットポリシーの記述を誤りマネコンからS3バケットを操作できなくなりそうになった話
2025/9/10 JAWS-UG朝会 #73 登壇資料
amarelo_n24
September 09, 2025
Tweet
Share
More Decks by amarelo_n24
See All by amarelo_n24
マルチパートアップロードをする時にS3はどのような挙動をしているのか?
amarelo_n24
0
37
ひとりAWS BuilderCards 会を開催した話_SecurityExpansion
amarelo_n24
1
69
ひとりAWS BuilderCards 会を開催した話
amarelo_n24
1
23
re:Invent初参加者が感じたre:Invent を楽しむために必要なこと
amarelo_n24
0
41
おひとり様Organizations管理者もルートアクセス管理を有効にしよう!
amarelo_n24
2
130
アウトプット再始動2025・つなげるアウトプット2026
amarelo_n24
0
68
AWS re_Invent に全力で参加したくて筋トレを頑張っている話
amarelo_n24
2
140
質のよいアウトプットをできるようになるために~「読む・聞く、まとめる、言葉にする」を読んで~
amarelo_n24
0
410
AWSと共に英語を学ぼう
amarelo_n24
0
250
Other Decks in Education
See All in Education
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
2.1k
バージョン管理とは / 01-a-vcs
kaityo256
PRO
1
210
Pen-based Interaction - Lecture 4 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2.1k
Gluon Recruit Deck
gluon
0
160
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
0
230
Google Antigravity エージェント・フ ァーストな開発パラダイムへの招待
mickey_kubo
1
100
Leveraging LLMs for student feedback in introductory data science courses (Stats Up AI)
minecr
1
240
地区危機管理委員会 出前セミナー「ロータリーにおける危機管理」:膳所 和彦 氏(国際ロータリー第2720地区 パストガバナー・日田ロータリークラブ・医療法人恒心会ぜぜ医院 理事長):2720 Japan O.K. ロータリーEクラブ2026年2月16日卓話
2720japanoke
1
610
LotusScript でエージェント情報を出力してみた
harunakano
0
150
AIで日本はどう進化する? 〜キミが生きる2035年の地図〜
behomazn
0
130
OSINT入門-CTF for GIRLS_SECCON14電脳会議
nomizone
1
1.2k
Postcards
gabrielramirezv
0
160
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Balancing Empowerment & Direction
lara
5
960
The SEO Collaboration Effect
kristinabergwall1
0
400
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
320
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
93
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to Ace a Technical Interview
jacobian
281
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why Our Code Smells
bkeepers
PRO
340
58k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
490
Transcript
バケットポリシーの記述を誤り、マネコンから バケットを操作できなくなりそうになった話 2025/9/10 JAWS-UG朝会 #73
自己紹介 藤田 直幸 | アマレロ@コーヒー焙煎人兼エンジニア JAWS-UG 彩の国埼玉支部 運営 X:@amarelo_n24 Facebook
https://www.facebook.com/naoyuki.fujita.37 仕事:所属企業の情シス 好きなAWSサービス:IAM、S3、CloudShell 好きなこと:コーヒー豆の焙煎
今回は、Amazon S3(以下、S3)バケットポリシーの記述で失敗したこと、 気づきがありましたので、その話をします。 話すこと:S3バケットポリシーの設定で起こったことと改善策 話さないこと:バケットポリシー以外のポリシーについて (IAMポリシー、VPCエンドポイントポリシー) なお、本資料に記載の内容は個人の見解です。 はじめに
今回の話は以下のブログを基にしています。 バケットポリシーの記述を誤りマネコンからS3バケットを操作できなくなりそうになった話 https://qiita.com/amarelo_n24/items/225456495d3a896c8004 今回の登壇の元ネタ
1.やろうとしたこと 2.バケットポリシー 3.バケットポリシー適用したら・・・ 4.解決策 5.まとめ アジェンダ
1.やろうとしたこと
VPCエンドポイント経由でEC2からS3へアクセス S3にてVPCエンドポイントを経由した アクセスのみを許可
2.バケットポリシー
特定のVPCエンドポイントを経由した場合にオブジェクトの参照と格納を許可する S3バケットポリシー { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow",
"Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringEquals": { "aws:sourceVpce": "vpce-xxxxxxxxx" } } }, { "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-xxxxxxxxx" } } } ] }
3.バケットポリシー適用したら・・・
バケットポリシー、編集できない!? 急にアクセス許可が無くなりました!
バケット削除もできないし・・・どうしよう😢 オブジェクトも見えなくなった…
消せないサービスにお金が嵩んでいく不安が頭をよぎる… 課金され続ける・・・(汗)
4.解決策
ルートユーザでログインして取り急ぎバケットポリシーを削除 したら、エラーは解消されました。 ※以下の記事を読んで安心できました。ありがとうございました! アクセス不能になったS3バケットのバケットポリシーを削除する方法 https://dev.classmethod.jp/articles/delete-access-denied-bucket-policy/ ルートユーザで何とかできた!
マネージドコンソールからのアクセスも、特定のVPCエンドポイントを 経由していないため拒否された! エラーが表示された理由 あくまでも指定していたのは、特定のVPC エンドポイント以外のS3操作の明示的な拒 否。 マネコンからのアクセスはこの条件に合致 してしまった。
どうしてこんなポリシーにした?
実は、適用したバケットポリシーは、Amazon Q Developerに聞いて提示され たものでした。「AWSのことを Amazon Q Developer に聞いて出てきた アウトプットだからまぁー大丈夫か」と油断してのか、内容を十分確認して いませんでした…
生成AIのアウトプットを十分確認していなかった
特定のVPCエンドポイント以外のアクセス、または特定のIAMロールにスイッチした ユーザ以外からのアクセスのみ許可するよう書き換えたら、解決!! { "Effect": "Deny", "Principal": "*", "Action": "s3:*",
"Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringNotLike": { "aws:userId": "XXXXXXXXXXXXXXXXXXX:*" }, "StringNotEquals": { "aws:sourceVpce": "vpce-xxxxxxxxx" } } } ] } 改善後のバケットポリシー IAMロールのID { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringEquals": { "aws:sourceVpce": "vpce-xxxxxxxxx" } } },
AWS CLI を使います。 aws iam get-role --role-name <ロール名>
実行結果のJSON内に表示される、 "RoleId": "XXXXXXXXXXXXXXXXXXX", がRoleId("aws:userId” に指定する値)です。 ※こちらの記事を参考にさせていただきました。ありがとうございます! S3バケットのアクセス制御でマネコンからは特定ユーザのみ、リソースからはVPCエンドポイント経由のみに限定するS3バケットポ リシーの設定方法 https://dev.classmethod.jp/articles/configure-s3-bucket-policy/ IAMロールIDの調べ方
5.まとめ
・生成AIのアウトプットを設計の参考にするのは良いけど、 十分確認しましょう! ・確認不十分な明示的な拒否を適用すると痛い目に合う。 ・バケットポリシー編集は最悪ルートユーザで何とかなるけど、 ルートユーザに頼らずポリシー設計は慎重に! ・ポリシー設計の重要さ、奥深さを再確認できて良い経験でした! まとめ
ご清聴ありがとうございました!