Amazon S3 において、デフォルトではアップロードしたファイルや画像を部外者がそのままURL叩くと、Access Denied になって取得することはできない。
これに対応するためにはいくつか方法がある。
- S3 Console 上で対象フォルダ or ファイルを右クリック -> Make Public
- アップロードのコードで、AccessControl を public read に設定
- Bucket Policy を変更
個々のファイルごとに設定を変えたい場合は、1か2をする必要があるが、まとめて全部公開したい場合は3が有効。
Bucket の Property の Permisson にて、add bucket policy
を選択。そこに
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*" } ] }
で適用。これで指定Bucketが全てpublic readになる。

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく
- 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/01/20
- メディア: Kindle版
- この商品を含むブログを見る