我有一些秘密文件,我想限制匿名用户查看/下载。我试图通过运行以下命令将其设为私有:
s3cmd setacl --acl-private s3://bucket/some/path/*.ext
然后我转到 S3 管理控制台,选择文件,然后单击属性,我确定每个人都未选中打开/下载权限。
但是复制链接https://s3-us-west-2.amazonaws.com/bucket/some/path/blah.ext
,粘贴到新的浏览器中,仍然可以打开/下载。
我错过了什么?
我有一些秘密文件,我想限制匿名用户查看/下载。我试图通过运行以下命令将其设为私有:
s3cmd setacl --acl-private s3://bucket/some/path/*.ext
然后我转到 S3 管理控制台,选择文件,然后单击属性,我确定每个人都未选中打开/下载权限。
但是复制链接https://s3-us-west-2.amazonaws.com/bucket/some/path/blah.ext
,粘贴到新的浏览器中,仍然可以打开/下载。
我错过了什么?
通过转到存储桶检查您的存储桶策略,然后单击属性和编辑存储桶策略。如果你有这样的事情:
这意味着您允许每个人下载此存储桶中的每个文件。
根据文件:
这就是匿名用户仍然可以打开/下载您的文件的原因。
您可以通过添加如下新策略来阻止它:
在 S3 中创建文件
private
后,您仍然可以下载它,您的浏览器已缓存该文件。将文件设为私有后,它将403
在任何其他浏览器(或私有/隐身窗口)中返回 a,但在一段时间内仍可从原始浏览器访问。如果您想确认该文件是私有的,请尝试在其他浏览器(或
curl
,等)中下载。