亚马逊AWS S3 OAI访问控制



我有一个名为"mybucket"的S3 bucket,它前面有一个cloudfront分布。我已经配置了cloudfront Origin Access Identity(OAI),并将bucket策略设置如下:

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXX"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucket/*"
        }
    ]
}

所以现在,当我通过cloudfront请求文件时,它可以正常工作并提供文件,但通过S3的直接访问被阻止了。令人惊叹的

我的问题是,这个bucket策略只适用于新/新上传的文件,而不适用于bucket中的现有文件。我本以为bucket级别的策略会应用于所有文件?我需要重新上传我的bucket中的所有内容吗?或者有没有办法将这个新的bucket策略推送到所有现有对象?

Amazon S3存储桶策略在收到请求时进行评估。因此,当应用策略时,它会立即应用于bucket(嗯,实际上需要几秒钟才能激活)。

您不需要重新上传文件。

在创建bucket策略之前,您的web浏览器可能已经缓存了文件。通过尝试从其他浏览器或其他计算机访问文件来测试此功能。

存储桶中的某些对象也可能具有对象级别的权限设置。对于任何可直接访问的对象,请检查"权限"设置,并确保没有Everyone的设置。

最新更新