【以下的问题经过翻译处理】 ### 情况
客户正在建立一个存储桶,以从多个客户外部汇集数据。如果我们称其为"ingest-bucket",他们的意图是使用一个文件夹结构,每个客户一个文件夹。预期的结构类似于:
- ingest-bucket/customer1/data1.log
- ingest-bucket/customer1/data2.log
- ingest-bucket/customer2/data1.log
- ingest-bucket/customer2/data2.log
- ingest-bucket/customer3/data1.log
- ingest-bucket/customer3/data2.log
...等等...
任务
他们尝试给第三方访问与其相关的ingest文件夹。想象一下这是来自customer2的工程师。看起来他们需要授予S3:ListBucket权限,以允许他们读取和下载文件。
问题
问题在于,当customer2运行ListBucket命令时,他们可以看到customer1和customer3文件夹的存在。他们无法访问这些文件夹中的任何对象,但是他们可以看到文件夹本身的存在。这是一个问题,因为我们不希望customer2看到名为“customer1”的文件夹。它透露给了customer2:“customer1是我们的客户”这一信息,这是不可接受的。
可能的解决办法
有解决方法吗?我们决定可能会为这个第一级文件夹使用随机名称,以使文件夹名称匿名化。这并不是很好,但可以接受。但是,我是否遗漏了什么?