amazon-web-services - Amazon S3 - 是否可以限制用户扫描公共文件夹的文件夹?
问题描述
我有一个 Amazon S3 存储桶,其中包含多个文件名随机的文件。文件名很难猜测(例如:)id84hBDs4g0a73nb0Ms9.png
,我只希望知道文件名的用户访问它们。这意味着 Amazon S3 存储桶在技术上是公开的,但我必须限制用户“扫描”/“列出”该文件夹。用户应该只能访问他们知道文件名的文件,而不是其他文件。这是 Amazon S3 中的可能设置吗?
解决方案
您想通过默默无闻来实现安全性 - 维基百科。请注意,这不是一种完全安全的形式,因为任何知道对象名称的人都可以访问它们。
您可以简单地添加一个桶策略,使桶中的所有对象(或桶中的路径)“公共”。此策略允许访问对象,但不允许列出存储桶。
从存储桶策略示例 - Amazon Simple Storage Service:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET/*"
}
]
}
您首先需要在存储桶上禁用阻止公共访问才能存储此存储桶策略。
推荐阅读
- python-3.x - matplotlib 将 pcolormesh 绘图转移到对称坐标
- python - Python 中的张量积
- c# - 避免在 Event Dispatcher 中使用 switch case 调用对应的 Event Handler
- google-chrome-extension - 如何在 devtools 网络选项卡中获取内容传输 [大小] 信息?
- flutter - 如何扩展 BorderSide 以制作渐变边框
- google-apps-script - 如何根据条件更新不同选项卡上的单元格值
- python - R 交互()函数的 Python 等效项
- javascript - 如何在 Mapbox-gl-js 中为特定案例创建表达式?
- c# - 将 WCF 服务访问限制为仅使用控制台应用程序托管的 localhost
- react-native - 如何在本机反应中将项目高度设置为等于 FlatList 高度?