Django/AWS - Произошла ошибка (403) при вызове операции HeadObject: Forbidden
Я пытаюсь настроить свой проект Django для размещения статических изображений на ведрах AWS S3, но когда я пытаюсь загрузить изображение через панель администратора Django, я получаю следующую ошибку
Вот мои настройки в Django
AWS_ACCESS_KEY_ID = 'some_key'
AWS_SECRET_ACCESS_KEY = 'some_key_aswell'
AWS_STORAGE_BUCKET_NAME = 'bucket_name'
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_S3_REGION_NAME = 'us-east-2'
Настройка политики Cors для ведра
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"POST",
"PUT"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
В роль IAM, используемую машиной (или контейнером), на которой работает ваше приложение Django, необходимо добавить следующую политику IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
],
"Resource": "arn:aws:s3:::<bucket>/<prefix>/*"
}
]
}
Если ваш объект зашифрован, убедитесь, что вы также разрешили вашей IAM-роли использовать ключ KMS, используемый для шифрования объекта.