当前位置: 首页 > 知识库问答 >
问题:

Amazon S3存储:可以在私有存储桶中列出公共文件夹吗?

裴俊智
2023-03-14

我有一个Amazon S3存储桶,所有设置都处于默认模式。当我转到我的Bucket权限选项卡并查看Public access/Everyone部分时,所有选项都为空,因此所有内容都是私有的。

现在我制作一个带有很长随机sha1-hash的文件夹,我在这个文件夹中上传一些文件和子文件夹,并将整个文件夹公开。是否可以检测(列出)此文件夹?

看起来不错。但也许还有其他方法可以检测我的公用文件夹?

共有1个答案

郁权
2023-03-14

如果您的Bucket策略只是为该文件夹授予s3:GetObject,那么应该没有该文件夹存在的公共指示。然而,当用户的请求通过Internet访问Amazon S3时,各种系统可能会记录对这些对象的访问。您至少应该使用HTTPS访问对象。

请参阅:TechnoSophos:只允许在S3桶上使用HTTPS

请注意,通过模糊来实现安全-维基百科通常被认为是一种糟糕的安全形式,因为任何知道文件链接的人都可以访问该文件。不要使用“隐藏文件夹”作为敏感信息的安全形式。

仅向授权人员授予访问权限的首选方法是让应用程序验证用户的身份,然后让它生成Amazon S3预签名URL,从而授予对Amazon S3中对象的有时间限制的访问权限。

 类似资料:
  • 问题内容: 我有一个s3结构,如下所示: 我需要做的就是给定s3bucket的名称和一个第一级密钥的条目,我需要位于第一级密钥下的所有第二级密钥的名称。因此,从本质上来说,如果我们将其视为一个文件夹,则将获得的名称(即)和其子文件夹之一的名称,我想列出其中的所有文件夹。虽然只是名称,而不是完整的路径。 有人可以指出如何使用亚马逊的Java SDK在Java中做到这一点吗? 谢谢 问题答案: 我做了

  • 问题内容: 我需要列出S3存储桶中某个文件夹中包含的所有文件。 文件夹结构如下 我有与用户有关的文件和与某个用户的联系人有关的文件。我需要同时列出两者。 要列出文件,我使用以下代码: 要列出某个用户的文件,我使用以下前缀: 并且我正确地获得了除子目录之外的目录中的所有文件,例如: 要列出某个用户联系人的文件,我使用以下前缀: 但是在这种情况下,我还将目录本身作为返回的对象: 为什么我会得到这种行为

  • 我有一个亚马逊S3桶,我公开了这样的政策 我的水桶现在显示为http://bucket.s3-website-us-east-1.amazonaws.com/ 我看到其他人把他们的水桶称为http://s3-us-east-1.amazonaws.com/bucket/ 我更喜欢第二个URL,但它给出了拒绝访问。 如何更改策略以允许第二个URL?

  • 我试图打印桶中的所有对象,但我得到一个错误。 线程“main”com中出现异常。amazonaws。服务。s3.型号。AmazonS3异常:状态代码:301,AWS服务:Amazon S3,AWS请求ID:758A7CBF1A29FD74,AWS错误代码:PermanentRedirect,AWS错误消息:您尝试访问的存储桶必须使用指定的endpoint寻址。请将所有未来的请求发送到此终结点。,S

  • 有没有一种方法可以将文件列表从一个S3存储桶复制到另一个存储桶?两个S3存储桶都在同一个AWS帐户中。我可以使用aws cli命令一次复制一个文件: 然而,我有1000份文件要复制。我不想复制源存储桶中的所有文件,因此无法使用sync命令。有没有一种方法可以用需要复制的文件名列表来调用一个文件,从而自动化这个过程?

  • 每个上传类别有多个s3桶,还是一个带子文件夹的桶,还是一个链接的s3桶更好?我确信用户图像会比剖析图片多,每个桶有5TB的限制,每个账户有100个桶。我正在使用aws boto库和https://github.com/amol-/depot 我的文件夹的结构是以下哪种方式? 最后一个意味着它实际上是一个10TB的存储桶,当bucket_1中的文件超过5TB时,就会创建一个新的存储桶。但所有上传的内