前提・実現したいこと
下記の設定だけでローカルからはS3に画像がアップロードできていたのですが、
Herokuにデプロイ後にDjangoからS3に画像がアップロードできなくなりました。
エラーメッセージについて検索し、解決策などを試してみたのですがうまくいきませんでした。
発生している問題・エラーメッセージ
An error occurred (403) when calling the HeadObject operation: Forbidden
該当のソースコード
Python
1AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID') 2AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY') 3AWS_STORAGE_BUCKET_NAME = config('AWS_STORAGE_BUCKET_NAME') 4DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' 5AWS_S3_FILE_OVERWRITE = False 6AWS_DEFAULT_ACL = None
AWS側の設定
CORS
1[ 2 { 3 "AllowedHeaders": [ 4 "*" 5 ], 6 "AllowedMethods": [ 7 "GET", 8 "HEAD", 9 "POST", 10 "PUT" 11 ], 12 "AllowedOrigins": [ 13 "*" 14 ], 15 "ExposeHeaders": [] 16 } 17]
試したこと
バケットポリシーの設定
BucketPolicy
1{ 2 "Version": "2012-10-17", 3 "Id": "Policy1111111111", 4 "Statement": [ 5 { 6 "Sid": "Sid1111111", 7 "Effect": "Allow", 8 "Principal": "*", 9 "Action": "s3:*", 10 "Resource": [ 11 "arn:aws:s3:::<bucket_name>", 12 "arn:aws:s3:::<bucket_name>/*" 13 ] 14 } 15 ] 16}
あなたの回答
tips
プレビュー