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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Itou Hideki
February 26, 2025
Education
130
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
150
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
590
Other Decks in Education
See All in Education
We部コミュニティスライド2026-04-24
junhat6
0
200
Soluciones al examen de Geografía 2026. JULIO (Convocatoria Extraordinaria)
juanmartin2026
1
16k
[2026前期火5] 論理学(京都大学文学部 前期 第4回)「 ならば(→)の導入と証明ネット」
yatabe
0
510
Visionary Initiative: Materials-Positive Society 「モノの進化をポジティブな社会の原動力に」|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
820
!コスパよくインターンに受かる方法!
ruribou
1
310
教育現場から見た Ruby on Rails
yasslab
PRO
0
220
Data Management and Analytics Specialisation
signer
PRO
0
1.9k
면접관 눈에 띄는 데이터 분석 포트폴리오 만드는 법 | 2026년 5월 세미나
datarian
0
950
輻射安全管理系統2.0暨輻防e++學園平台說明會
aecrp
0
1.9k
新しいJavaを学んで・使っていこう! / osd26do
gishi_yama
0
200
Examen de Selectividad. Geografía julio 2026 (Convocatoria Extraordinaria). UCLM
juanmartin2026
1
10k
2026年度春学期 統計学 第6回 データの関係を知る(1)ー 相関関係 (2026. 5. 14)
akiraasano
PRO
0
190
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The browser strikes back
jonoalderson
0
1.4k
エンジニアに許された特別な時間の終わり
watany
108
250k
Unsuck your backbone
ammeep
672
58k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
190
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
How to Talk to Developers About Accessibility
jct
2
450
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Curse of the Amulet
leimatthew05
2
13k
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バケットポリシーとは?
ご清聴ありがとうございました