【发布时间】:2018-06-23 16:10:19
【问题描述】:
我目前有一个用于提供静态文件的小型 Web 服务器,它被设置为执行以下操作:
- 访问 https://my.domain.com/dl/ 会提供 /dl/ 中所有可用文件的目录列表。
- 访问 https://my.domain.com/dl/specific-file 让我可以下载 /dl/ 中的特定资源
- 访问https://my.domain.com/dl2/ 会出现错误(目前是403,但我并不特别关注错误是什么
- 访问 https://my.domain.com/dl2/specfic-file 让我可以下载 /dl2/ 中的特定资源
所以本质上,/dl/ 是公共文件的存储库,/dl2/ 是私有文件的存储库。然而,将此行为转换为 S3 似乎并不简单。目前,我的政策如下所示:
{
"Version": "2012-10-17",
"Id": "StaticPolicy01",
"Statement": [
{
"Sid": "DLALlowPolicy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::static.spookyinternet.com/dl/*"
}
]
}
但是,我找不到任何关于如何设置的具体文档。如何将 S3 存储桶配置为以同样的方式运行?
编辑:一些附加信息,如果适用的话: 这最终将位于使用我个人域名的云端实例后面。
【问题讨论】:
-
dl2中的资源是否可以通过直接 S3 文件链接公开访问? -
是的。如果您有指向 /dl2/ 中资源的直接链接,您应该能够查看/下载它。
-
当您转到
https://my.domain.com/dl2/specfic-file时,该链接会以某种方式调用直接链接吗? -
my.domain.com/dl2/specific-file 将是直接链接。 specific-file 是在 /dl/ 或 /dl2/ 中找到的某些文件的占位符。例如,如果我有一个名为 picture.jpg 的文件,my.domain.com/dl2/picture.jpg 将是直接链接。
-
好的,这就是问题所在。您的文件首先是可公开访问的,任何政策都无法阻止。将文件设为
dl2私有,您的问题就会消失
标签: amazon-web-services amazon-s3