我们目前有一个S3存储桶策略,可以将所有内容公开。
目前我们有一个桶“bucket1”,里面有编号的子文件夹,每个条目编号01向上(例如01,02,03),里面总是一个名为“128”的文件夹。
我们想要做的是使128个文件夹中的文件始终公开。
所以我们需要一些东西来允许“bucket1 / * / 128”,其他一切只能通过带时间戳的签名来访问。
假设这是可能的,但不知道如何创建语句。
答案 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存储桶的任何公开访问权限。