S3 Bucket Policy使特定的子文件夹公开,其他一切都是私有的?

时间:2014-02-20 19:35:13

标签: amazon-web-services amazon-s3 zip mp3 bucket

我们目前有一个S3存储桶策略,可以将所有内容公开。

目前我们有一个桶“bucket1”,里面有编号的子文件夹,每个条目编号01向上(例如01,02,03),里面总是一个名为“128”的文件夹。

我们想要做的是使128个文件夹中的文件始终公开。

所以我们需要一些东西来允许“bucket1 / * / 128”,其他一切只能通过带时间戳的签名来访问。

假设这是可能的,但不知道如何创建语句。

2 个答案:

答案 0 :(得分:43)

我做到了!

我正在尝试各种冗长的过度思考方法来尝试完成此操作,包括鲜为人知的“非资源”,当我需要做的就是采用默认的“允许所有”策略并将其应用于我指定的子文件夹!

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::BUCKETNAME/*/128/*"
        }
    ]
}

注意:编辑了资源名称。

答案 1 :(得分:2)

现在似乎已被阻止。

此存储桶具有公共访问权限 您已提供对此存储桶的公共访问权限。我们强烈建议您不要授予对S3存储桶的任何公开访问权限。