8

我正在使用 Amazon S3 存储桶为静态网站提供服务。我知道我可以限制对某些“文件夹”的读取访问(实际上是键,因为 S3 没有文件夹),但我真正想做的是通过文件扩展名限制访问。

换句话说,我想说“授予每个人对该存储桶中任何文件的读取权限,只要该文件以 htm/css/js/png 结尾”;那可能吗?

(顺便说一句,我担心我会不小心上传 .git 文件,或者我不想向世界展示的类似文件;设置安全策略以防止显示此类文件似乎比相信自己更安全绝不会意外上传错误的文件)。

4

1 回答 1

16

是的,这是可能的。您可以编写存储桶策略。您可以使用正则表达式来定义受策略影响的对象(示例)。

您的政策将类似于:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "auniqueid",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket/*.jpg"
        }
    ]
}

这将拒绝访问jpgbuket 的所有文件bucket

于 2012-11-08T16:17:28.330 回答