1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LaravelでS3に画像を保存して表示するときにはまった話

Last updated at Posted at 2023-02-23

概要

LaravelでS3に画像を保存してviewに表示するときに表示されなかったのでメモ
(初投稿です。よしなに)

この記事の対象者

S3に画像を保存することは出来たけどviewに表示されなくて困っている人

前提

  • S3バケットを設定していること
  • LaravelでS3への画像投稿機能を実装していること

方法

ブロックパブリックアクセス(バケット設定)を編集する

  1. S3のコンソール画面を開いて、アクセス許可タブから、ブロックパブリックアクセス (バケット設定)の編集ボタンを押します。
  2. 設定項目を全てオフにしてパブリックアクセスが可能な状態にしておく
    スクリーンショット 2023-01-09 15.41.31.png

バケットポリシーを編集する

  1. 同じくアクセス許可タブから少しスクロールしたところにバケットポリシーという項目があるので編集ボタンを押します。
  2. ポリシーを以下のように編集します。
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "PublicRead",
			"Effect": "Allow",
			"Principal": "*",
			"Action": [
				"s3:GetObject",
				"s3:GetObjectVersion"
			],
			"Resource": "arn:aws:s3:::バケット名/*"
		}
	]
}
  • オブジェクトを取得できるようにする。
"Action": [
				"s3:GetObject",
				"s3:GetObjectVersion"
			],
  • /*とすることで全てのオブジェクトにアクセスすることができる。
"Resource": "arn:aws:s3:::バケット名/*"

結論

/*を指定していなかったため、全てのオブジェクトにアクセス出来なかったみたいです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?