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
Itou Hideki
February 26, 2025
Education
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
S3バケットポリシー解説
Itou Hideki
February 26, 2025
More Decks by Itou Hideki
See All by Itou Hideki
アーキテクチャー設計と 生成AIによるTerraform IaC テンプレートの作り方 AWS
itouhi
1
170
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
2
640
Other Decks in Education
See All in Education
Lectura 1 (PIT : Python Basico)
robintux
0
1.1k
セキュリティ担当がいない中小医療機関を院外のRISSはどう支えるべきか / How External RISS Can Help Small Medical Institutions
eller86
0
170
エビデンスベースト英語教育入門:エビデンスは科学的知見(だけ)ではない,制度だ!
terasawat
0
200
1人 × AI、1か月でここまで作れる ー 数年前の外注換算3.8〜7.4億円・241〜379人月分の作業を、AI費用 約10万円・31日で
frievea
0
460
Πλουτοκρατία: Η Τυραννία του Μαμμωνά και η Μεταανθρώπινη Δουλεία
amethyst1
0
300
2026年度春学期 統計学 第14回 分布についての仮説を検証する ― 仮説検定(1) (2026. 7. 2)
akiraasano
PRO
0
140
Réunion des directrices et directeurs des écoles de la circonscription de Jonzac - 31 août 2026
fmarot
0
110
AIってなぁに?
kenichiota0711
0
740
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
AI-Based Speaking Assessment of a Short-Term Study Abroad Program
uranoken
0
480
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
330
解決策を教えても次期リーダーは育たない ─ 器の発達に伴走するために / Partnering with leaders in their vertical development
matsu0228
1
700
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
530
Skip the Path - Find Your Career Trail
mkilby
1
220
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Building AI with AI
inesmontani
PRO
1
1.2k
30 Presentation Tips
portentint
PRO
1
390
The untapped power of vector embeddings
frankvandijk
2
1.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The SEO identity crisis: Don't let AI make you average
varn
0
550
Transcript
S3バケットポリシーの解説 JAWS-UG 磐田 伊藤 秀樹
本日の発表者 ◼ 伊藤 秀樹(いとう ひでき) ◼ 輸送機器メーカーのIT子会社に勤務 ◼ 入社以来、メールやファイル共有などIAサーバ系の ITインフラの設計構築・サーバ運用を担当
最近は、CCoE立ち上げでクラウドアーキテクト担当 ◼ JAWS-UG 磐田を設立し、コアメンバーの一人として活動中 掛川城 2
Agenda ・S3バケットで実施したい権限管理 ・S3バケットポリシーの考え方 ・S3バケットポリシーの設定例
・S3バケットで実施したい権限管理 ・公開コンテンツの保管(静的Webサイト) ・各種文書などの保管 ・ALBやVPC、アプリケーションなどのログ保管 etc. データ保護や情報漏洩対策など、 実施したいけど・・・
実現したい事は・・・ 出典:https://qiita.com/c60evaporator/items/da47620d69f84a9be7dc ファイルの保護は、バケットポリシーで実施する必要があります。
・バケットポリシーの考え方 S3のバケットポリシーは、JSON形式で記述するアクセス制御ルールです。 バケット単位で適用され、誰がどの操作をできるかを決定します。 { "Version": "2012-10-17", "Statement": [ { "Effect":
"Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::example-bucket/*" } ] } 1. バケットポリシーの基本構造 バケットポリシーは、以下のようなJSON形式で記述します。
IAMポリシーとの違い
複数条件の組み合わせ① 以下ような条件のポリシーを実現したい ・一般操作の接続は、VPC Endpointのみ ・データ管理者の接続は、接続元IPアドレスかIAMロールが一致している場合 VPC Endpoint 一般操作 データ管理者 接続元
IPアドレス IAM ロール OR OR
バケットポリシー条件にしてみる VPC Endpoint 一般操作 データ管理者 接続元 IPアドレス IAM ロール OR
VPC Endpoint 接続元 IPアドレス IAM ロール AND OR AND
・バケットポリシーの設定例
設定例:バケットポリシー { "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect":
"Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::s3-demo-123456789012/*", "Condition": { "StringNotLike": { "aws:userId": "AROA2UC3CHRLHRD5XCES5:*" }, "NotIpAddress": { "aws:SourceIp": "203.0.113.1/32" }, "StringNotEquals": { "aws:SourceVpce": "vpce-0d55dd32cf374b969" } } } ] } #許可するロールのロールID #許可するグローバルIPアドレス #許可するS3エンドポイント
複数条件の組み合わせ② 以下ような条件のポリシーを実現したい ・一般操作の接続は、VPC Endpointのみ ・データ管理者の接続は、接続元IPアドレスかつIAMロールが一致している場合 VPC Endpoint 一般操作 データ管理者 接続元
IPアドレス IAM ロール AND OR
VPC Endpoint バケットポリシー条件にしてみる VPC Endpoint 一般操作 データ管理者 接続元 IPアドレス IAM
ロール AND VPC Endpoint 接続元 IPアドレス IAM ロール OR OR AND AND
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny",
"Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::s3-demo2-123456789012/*", "Condition": { "NotIpAddress": { "aws:SourceIp": " 203.0.113.1/32" }, "StringNotEquals": { "aws:SourceVpce": "vpce-0d55dd32cf374b969" } } }, { "Sid": "RoleAllow", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::s3-demo2-123456789012/*", "Condition": { "StringNotLike": { "aws:userId": "AROA2UC3CHRLHRD5XCES5:*" }, "StringNotEquals": { "aws:SourceVpce": "vpce-0d55dd32cf374b969" } } } ] } 設定例:バケットポリシー #許可するロールのロールID #許可するグローバルIPアドレス #許可するS3エンドポイント #許可するS3エンドポイント
もし、アクセスポイントを併用すると・・・
まとめ:S3バケットポリシーとは?
ご清聴ありがとうございました