amazon-web-services - Amazon S3 存储:可以在私有存储桶中列出公用文件夹吗?
问题描述
我有一个默认模式下所有设置的 Amazon S3 存储桶。当我转到我的 Bucket Permissions 选项卡并查看Public access / Everyone部分时,所有选项都是空的,所以一切都是私有的。
现在我创建了一个带有很长随机 sha1-hash 的文件夹,我在这个文件夹中上传了一些文件和子文件夹,并将整个文件夹公开。是否可以检测(列出)此文件夹?
当我在浏览器
https://s3.xxx.amazonaws.com/my-private-bucket中访问我的存储桶时
,我看到:<Code>AccessDenied</Code>
。
这看起来不错。但也许还有另一种方法可以检测我的公用文件夹?
解决方案
如果您的存储桶策略仅授予s3:GetObject
该文件夹,则不应公开表明该文件夹存在。但是,当您的用户的请求通过 Internet 到达 Amazon S3 时,各种系统可能会记录对这些对象的访问。您至少应该使用 HTTPS 来访问对象。
请参阅:TechnoSophos:在 S3 存储桶上仅允许 HTTPS
请注意,通过默默无闻的安全 - 维基百科通常被认为是一种糟糕的安全形式,因为任何知道文件链接的人都可以访问该文件。不要使用“隐藏文件夹”作为敏感信息的安全形式。
仅向授权人员授予访问权限的首选方法是让应用程序对用户身份进行身份验证,然后让它生成Amazon S3 预签名 URL,从而授予对 Amazon S3 中对象的限时访问权限。
推荐阅读
- c# - .NET Core 3.0 迁移错误 IAsyncEnumerable
System.Interactive.Async 和 System.Runtime 中都存在 - paypal - 减少 Paypal 结帐期间的重定向次数
- ionic-framework - 列表项过多导致延迟
- javascript - jQuery计算具有值的输入字段的数量
- azure - 在 AAD 凭据下记录 API 调用
- gulp-4 - 在临时文件夹中注入文件时自动附加 src 文件夹
- javascript - 我得到 ["Yes", true]:Array 的未定义方法“名称”而不是预填充字段
- kofax - Kofax 验证规则
- sql - sql分组所有值
- sql - 是否可以创建层次结构但在 Postgres 中具有多行?