Невозможно получить доступ к изображению на aws-s3, сохраненному через django

Url изображения, хранящегося в db, таков: profile_pictures/f292ddfe-ee17-4ccc-be85-0398fb602753.jpeg

но когда я нажимаю на него, url становится https://workandhomes.s3.amazonaws.com/media/profile_pictures/f292ddfe-ee17-4ccc-be85-0398fb602753.jpeg?AWSAccessKeyId={keyHere}&Signature={somevalue}&Expires=1728557943

Вот мой соответствующий код:

models.py

class UserProfile(models.Model):

 ...
    profile_picture = models.ImageField(
        upload_to="profile_pictures/", blank=True, null=True
    )

...
    class Meta:
        db_table = "user_profile"

settings.py

....

# AWS S3 Configuration
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY")
AWS_STORAGE_BUCKET_NAME = os.getenv("AWS_STORAGE_BUCKET_NAME")
AWS_REGION = os.getenv(
    "AWS_REGION", "eu-north-1"
)  # Replace 'your-default-region' with your region

# Configure the default file storage to use S3
DEFAULT_FILE_STORAGE = "storages.backends.s3boto3.S3Boto3Storage"


MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.{AWS_REGION}.amazonaws.com/"

...

Я могу выполнять операции put и загружать файл, но не могу его прочитать. Мой пользователь IAM на AWS имеет полный доступ к aws. и следующая политика ведра

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::workandhomes/*"
        }
    ]
}

Наконец, когда я удаляю строки запроса auth, изображение открывается.

Есть идеи, что здесь происходит?

Вернуться на верх