Table of Contents
Open Table of Contents
描述
預設在 AWS S3 建立 bucket 時,上傳的檔案連結是無法公開存取的,因此你會發現當你複製 Object URL 時,會發現連結並不運作,只能透過 Open 產生一個稱為 Presigned URL 的連結,但這個連結會有時效性,當時間到期後就無法存取了,那要怎麼讓這個檔案可以公開存取呢?
將整個 bucket 或特定檔案設定為公開存取
- 建立 bucket 時,取消勾選 Block all public access
- 確定 bucket 的 Permissions 設定有正確的 Block public access 設定
- 新增 bucket policy
⚠️ 請將以下的 JSON 貼上,BucketName
需要替換為你的 bucket 名稱
如果你只想開放特定檔案可以改成arn:aws:s3:::{BucketName}/{ObjectName}
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicRead", "Principal": "*", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::{BucketName}/*"] } ] }
- 確定 bucket 的 Permissions 設定有正確的 Bucket policy 設定
- 完成設定,現在你在 bucket 中的 Object URL 可以公開存取給所有使用者 🎉