通过存储桶策略删除具有“每个人都可以读取”权限的AWS S3存储桶

时间:2018-08-16 11:11:14

标签: amazon-web-services amazon-s3

假设我有一个具有“所有人读取”权限的S3存储桶。铲斗不公开。意味着任何人都可以通过在浏览器中键入其URL来访问对象。现在,我想从浏览器中的URL内容中删除此访问权限。一种选择是转到每个图像,然后从“每个人”部分删除“读取”。但是由于存在大量图像,因此这是不可行的。

那么我可以放置这样的存储桶策略吗,该策略只允许一个IAM用户访问,而不能从浏览器访问?我尝试添加这样的存储桶策略,该策略仅允许特定用户访问所有资源,但可以通过URL浏览访问静止图像。有什么想法吗?

编辑:添加我尝试过的政策

sys.path

1 个答案:

答案 0 :(得分:1)

好吧@Himanshu Mohan我将向您解释我的所作所为。我创建了一个S3存储桶,然后添加了以下存储桶策略

{
    "Version": "2012-10-17",
    "Id": "Policy1534419239074",
    "Statement": [
        {
            "Sid": "Stmt1534419237657",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::xxx-xxx-test/*"
        }
    ]
}

添加此策略时,存储桶将自动公开 enter image description here

然后,我上传了您所引用的图像,并且能够通过浏览器访问同一图像。

现在,我将政策改回了您所说的 enter image description here

现在我无法访问该图像,将显示拒绝访问xml的响应。我看到的唯一区别是我在存储桶名称/*之后添加了"Resource": "arn:aws:s3:::xxx-xxx-test/*"