我有一些秘密文件,我想限制匿名用户查看/下载。我试图通过运行以下内容将其设为私有:
s3cmd setacl --acl-private s3://bucket/some/path/*.ext
Run Code Online (Sandbox Code Playgroud)
然后我转到 S3 管理控制台,选择文件,然后单击“属性”,我确定所有人都未选中打开/下载权限。
但是复制链接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/*"
},
Run Code Online (Sandbox Code Playgroud)
这意味着您允许每个人下载此存储桶中的每个文件。
根据文件:
如果帐户有权访问 ACL 或策略指定的资源,则他们能够访问请求的资源。
这就是匿名用户仍然可以打开/下载您的文件的原因。
您可以通过添加如下新策略来阻止它:
{
"Sid": "Stmt1395306106592",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket/some/path/*.ext"
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3613 次 |
最近记录: |