我对AWS比较陌生。
最近,我们通过AWS控制台创建了一个AWS S3存储桶。然后,在存储桶上设置以下策略:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AddJPGImageFilter",
"Effect": "Allow",
"Principal": {
"AWS": "IAM user ARN"
},
"Action": "s3:PutObject",
"Resource": "bucket_name/*.jpg"
},
{
"Sid": "AddJPEGImageFilter",
"Effect": "Allow",
"Principal": {
"AWS": ""IAM user ARN""
},
"Action": "s3:PutObject",
"Resource": "bucket_name/*.jpeg"
},
{
"Sid": "AddPNGImageFilter",
"Effect": "Allow",
"Principal": {
"AWS": ""IAM user ARN""
},
"Action": "s3:PutObject",
"Resource": "bucket_name/*.png"
}
]
}
现在,根据我对上述政策的理解,这意味着只有S3:PutObject
中提到的IAM用户ARN才能访问该资源(允许执行Principal
操作)。
要使其公开,Principal
必须为*
。
我的理解正确吗?
如果是,为什么AWS控制台仍将以上存储桶显示为Public
?
答案 0 :(得分:1)
AWS Web控制台存在页面缓存问题。尝试注销,清除缓存,然后再次重新登录。
谢谢 Sanjog