假设我有一个具有“所有人读取”权限的S3存储桶。铲斗不公开。意味着任何人都可以通过在浏览器中键入其URL来访问对象。现在,我想从浏览器中的URL内容中删除此访问权限。一种选择是转到每个图像,然后从“每个人”部分删除“读取”。但是由于存在大量图像,因此这是不可行的。
那么我可以放置这样的存储桶策略吗,该策略只允许一个IAM用户访问,而不能从浏览器访问?我尝试添加这样的存储桶策略,该策略仅允许特定用户访问所有资源,但可以通过URL浏览访问静止图像。有什么想法吗?
编辑:添加我尝试过的政策
sys.path
答案 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/*"
}
]
}
然后,我上传了您所引用的图像,并且能够通过浏览器访问同一图像。
现在我无法访问该图像,将显示拒绝访问xml
的响应。我看到的唯一区别是我在存储桶名称/*
之后添加了"Resource": "arn:aws:s3:::xxx-xxx-test/*"
。