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
160
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
2
620
Other Decks in Education
See All in Education
Beyond the Prompt: Programming as a Pathway to Statistical Thinking
minecr
0
330
学習者データを「見る」:外国語教師のためのデータの入力、分析、解釈方法
uranoken
0
240
チームの鏡になるー自分の癖を知ると、チームのパターンが見えてくる@スクフェス仙台
saorimurooka
0
140
Fundamentos, Caracteristicas y Aplicaciones de los Modulos NumPy , Matplotlib y Pandas
robintux
0
200
[2026前期火5] 論理学(京都大学文学部 前期 第6回)「かつとまたはの規則」
yatabe
0
480
[2026前期火5] 論理学(京都大学文学部 前期 第10回)「論理学の哲学——意味とは何か(Tonkと推論主義)」
yatabe
0
260
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
13
3.7k
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
230
Gitがない時代 インターネットがない時代の 開発話
sapi_kawahara
0
360
BITCOIN : Les fondamentaux !
rlifchitz
0
220
人間のために、人間と共に働く時代の終わりの始まり
frievea
0
120
[2026前期火5] 論理学(京都大学文学部 前期 第13回)「走って、止まって、積み上がる」
yatabe
0
180
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
800
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Documentation Writing (for coders)
carmenintech
77
5.5k
Mind Mapping
helmedeiros
PRO
1
320
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
420
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Un-Boring Meetings
codingconduct
0
390
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
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バケットポリシーとは?
ご清聴ありがとうございました