如何防止目录浏览s3桶?

uwe*_*uwe 35 amazon-s3

在我的s3存储桶上有大量文件并添加存储桶策略以使它们全部公开.现在,当我浏览根目录时,它会列出整个目录(或前1000个项目).如何防止目录浏览.

hiJ*_*ump 80

应该注意的是,将一个index.html文件添加到存储桶中绝对没有任何意义.浏览存储桶根目录时,此文件将与所有其他文件一起列出.

此外,在存储桶上设置访问级别以便"每个人"都无法读取,这意味着您上传到存储桶的每个新文件都需要将其权限设置为"每个人"才能浏览.如果您要定期添加文件,这是不切实际的.

最好的解决方案是首先在存储桶上设置访问级别以拒绝"每个人"的读取访问权限,然后创建一个存储桶策略,允许每个人读取存储桶中的内容.这样,没有人能够列出您的存储桶的内容,但是您添加的任何新文件都将被具有该文件链接的每个人读取.

以下是存储桶策略的外观.用你的水桶名称替换'my_bucket',你很高兴.

{
    "Version": "2008-10-17",
    "Statement": [
        {
        "Sid": "AddPerm",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::my_bucket/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

  • 我不能让它在2017年工作(不确定是否有更新)但在S3管理控制台下有一个选项说"列表对象"你可以删除它但仍然允许读取访问来实现同样的事情 (3认同)
  • **这是正确的答案。**特别注意桶策略的实现,而不是“所有人/读取”广泛访问的实现。 (2认同)

Usm*_*ail 5

您可以单独设置目录和各个文件的ACL,不对目录赋予读取权限,但允许单个文件使用.有许多工具可以帮助解决这个问题,包括bucket explorer或s3 fox.


Hei*_*sch 5

最简单的方法可能是编辑设置: 在此处输入图片说明