如何将存储桶中的Amazon s3更新文件公开访问

时间:2019-01-01 15:13:40

标签: amazon-web-services amazon-s3

我只是尝试使用此URL为静态页面创建Amazon s3 https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html

我创建了两个存储桶,作为example.com和www.example.com 我将index.html放到example.com 然后如下更新存储桶策略的权限

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

然后我已经将其部署到在Amazon中创建的主机,但是仍然禁止在403中使用 代码:AccessDenied 消息:访问被拒绝

然后我发现example.com中的index.html不是公开的。 而且无论我单击“公开”文件 并在权限标签中设置公共访问权限,以允许所有人在“访问对象”中更新“读取对象” 它无法更新为公开。

我错过了任何程序吗?

2 个答案:

答案 0 :(得分:1)

S3中最近发生了一项更改,称为“阻止公共访问”,它增加了一层额外的安全保护,以防止人们意外泄露内容。

在适合您的S3控制台中,进入权限标签并编辑公共访问设置

如果添加了存储桶策略,则应关闭管理该存储桶的公共存储桶策略”下的选项。

答案 1 :(得分:0)

即使从root用户帐户,我也收到此错误。即使取消选中权限>公共访问设置>编辑中的阻止新的公共存储桶策略,我也无法向存储桶添加任何策略。解决此问题的方法是转到S3存储桶,然后单击该帐户的公共访问设置,然后取消选中阻止新的公共存储桶策略,我就可以添加政策。