访问Django';使用';同源';推荐人政策

访问Django';使用';同源';推荐人政策,django,amazon-s3,python-django-storages,Django,Amazon S3,Python Django Storages,自Django 3.0以来,添加了SECURE_referer_策略,并包含在python manage.py check--deploy命令中。为了使我的Django项目能够从Amazon S3读取媒体文件,我以前将我的设置为跨源时的严格源,以及允许编程用户执行所有操作的S3策略和另一个检查引用者头是否设置为我的域的策略(与本问题中描述的内容类似) 但这是一个非常基本的热链接保护,Django论坛建议我切换到同源 然而,现在我的网站再也无法获取任何资产文件(403错误),在django存储中导

自Django 3.0以来,添加了SECURE_referer_策略,并包含在
python manage.py check--deploy
命令中。为了使我的Django项目能够从Amazon S3读取媒体文件,我以前将我的设置为跨源时的严格源,以及允许编程用户执行所有操作的S3策略和另一个检查引用者头是否设置为我的域的策略(与本问题中描述的内容类似)

但这是一个非常基本的热链接保护,Django论坛建议我切换到
同源

然而,现在我的网站再也无法获取任何资产文件(403错误),在
django存储中导航和S3文档搜索答案已被证明是困难和徒劳的(

以下是我目前拥有的:

在Django端,我有
Django存储
配置:

  • AWS\u DEFAULT\u ACL='authenticated read'
  • SECURE\u referer\u POLICY='same origin'
  • STATICFILES\u STORAGE='storages.backends.s3boto3.s3boto3存储'
在AWS上,我有以下策略(推荐人的访问策略已被删除):

以下COR:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我有一种感觉,我缺少的是将
bucket manager
用户添加到bucket的ACL中,但UI要求提供规范ID,而我,以我的名义,找不到它

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ]
        }
    ]
}