我有一个Amazon S3桶,其中有几个随机文件名的文件。文件名很难猜测(例如:id84hBDs4g0a73nb0Ms9.png
),我只希望知道文件名的用户访问它们。这意味着Amazon S3存储桶在技术上是公共的,但是我必须限制用户"扫描"。/"listing"的文件夹。用户应该只能访问他们知道文件名的文件,而不能访问其他文件。这在Amazon S3中是可能的设置吗?
您希望通过模糊实现安全性- Wikipedia。请注意,这不是一种完全安全的形式,因为任何知道对象名称的人都可以访问它们。
您可以简单地添加一个桶策略使桶中的所有对象(或桶内的路径)"公共"。此策略允许访问对象,但不允许列出bucket。
来自桶策略示例- Amazon Simple Storage Service:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET/*"
}
]
}
首先需要禁用Block Public Access
在可以存储此桶策略的桶上。