Amazon-S3
Amazon S3 - 私人文件仍然可供所有人下載?
我有一些秘密文件,我想限制匿名使用者查看/下載。我試圖通過執行以下命令將其設為私有:
s3cmd setacl --acl-private s3://bucket/some/path/*.ext
然後我轉到 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/*" },
這意味著您允許每個人下載此儲存桶中的每個文件。
根據文件:
如果帳戶有權訪問 ACL 或策略指定的資源,則他們能夠訪問請求的資源。
這就是匿名使用者仍然可以打開/下載您的文件的原因。
您可以通過添加如下新策略來阻止它:
{ "Sid": "Stmt1395306106592", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": "arn:aws:s3:::bucket/some/path/*.ext" },