如何解决拒绝访问的AWS S3文件?

时间:2018-12-22 22:38:22

标签: django amazon-web-services heroku amazon-s3

我正在尝试使s3存储桶中的文件(CSS JS文件)可以在heroku中运行的Django应用程序访问。

我认为我已经正确配置了settings.py。

但是,当我尝试更改S3存储桶中的权限时,访问被拒绝。 Access denied error

我添加了cors,并且将存储桶策略设置为公开。

最终,当我从heroku加载应用程序时,尝试访问静态文件时出现403错误。

时段政策:

function

CORs配置:

var

public access settings 我如何获得在s3存储桶中进行更改的权限?

2 个答案:

答案 0 :(得分:5)

该选项称为如果存储桶具有公共策略,则阻止公共和跨帐户访问。如果为TRUE,则表示存储桶策略仅适用于存储桶所有者。

有关详细信息,请参阅:Using Amazon S3 Block Public Access - Amazon Simple Storage Service

这四个新设置可能会令人讨厌,因为它们是尝试公开内容的附加障碍,但它们可能会通过防止意外公开数据而为许多组织节省很多尴尬。

答案 1 :(得分:0)

S3的新功能-S3 Public块可能正在阻止您的请求。您可以查看cloudtrail日志以获取更多详细信息。 更多详细信息:https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html

还要查看您的策略,您正在允许对所有AWS主体的存储桶前缀执行s3:*操作。 通常,对所有AWS主体开放所有S3操作不是一个好习惯。请查看您的需求并缩小策略范围,以提高存储桶对象的安全性。