我有一些秘密文件,我想限制匿名用户查看/下载。 我试图通过运行像这样的私人:
s3cmd setacl --acl-private s3://bucket/some/path/*.ext
然后我进入S3pipe理控制台,select文件,然后点击属性,我确定打开/下载权限没有被选中。
但复制链接https://s3-us-west-2.amazonaws.com/bucket/some/path/blah.ext ,并粘贴到一个新的浏览器,它仍然可以打开/下载。
我错过了什么?
通过转到桶来检查您的存储桶策略,然后单击“属性”和“编辑存储桶策略”。 如果你有这样的事情:
{ "Sid": "Stmt1391783519913", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject", ], "Resource": "arn:aws:s3:::bucket/*" },
这意味着你允许每个人下载这个桶里的每个文件。
根据该文件 :
如果某个帐户可以访问ACL或策略指定的资源,则可以访问所请求的资源。
这就是匿名用户仍然可以打开/下载文件的原因。
你可以通过添加一个像下面这样的新策略来阻止它:
{ "Sid": "Stmt1395306106592", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": "arn:aws:s3:::bucket/some/path/*.ext" },