首页 > 解决方案 > Amazon S3 - 是否可以限制用户扫描公共文件夹的文件夹?

问题描述

我有一个 Amazon S3 存储桶,其中包含多个文件名随机的文件。文件名很难猜测(例如:)id84hBDs4g0a73nb0Ms9.png,我只希望知道文件名的用户访问它们。这意味着 Amazon S3 存储桶在技术上是公开的,但我必须限制用户“扫描”/“列出”该文件夹。用户应该只能访问他们知道文件名的文件,而不是其他文件。这是 Amazon S3 中的可能设置吗?

标签: amazon-web-servicesamazon-s3amazon-ec2

解决方案


您想通过默默无闻来实现安全性 - 维基百科。请注意,这不是一种完全安全的形式,因为任何知道对象名称的人都可以访问它们。

您可以简单地添加一个桶策略,使桶中的所有对象(或桶中的路径)“公共”。此策略允许访问对象,但不允许列出存储桶。

存储桶策略示例 - Amazon Simple Storage Service

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Effect":"Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::YOUR-BUCKET/*"
    }
  ]
}

您首先需要在存储桶上禁用阻止公共访问才能存储此存储桶策略。


推荐阅读