我正在建设一个网站,用户可以直接上传文件到Amazon S3。我会暂时使用我的秘钥签署网址,授予用户暂时的将文件上传至我的站点的PUT权限,这是通过CORS配置实现的。
现在,一旦文件上传到那里,我希望没有人能阅读它们,只有我可以。我当前设置的存储桶策略不允许任何人读取对象,包括我这个管理员,这非常不好。请问什么样的存储桶策略能够解决这个问题?
以下是我的有效CORS配置。
现在,一旦文件上传到那里,我希望没有人能阅读它们,只有我可以。我当前设置的存储桶策略不允许任何人读取对象,包括我这个管理员,这非常不好。请问什么样的存储桶策略能够解决这个问题?
以下是我的有效CORS配置。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://url.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
更新: 适用于此政策:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Deny",
"NotPrincipal": {
"AWS":"arn:aws:iam::123456789012:user/Bob"
}
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket>/*"
}
]
}