我有一个带有此策略的S3存储桶:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::my-bucket"
}
]
}
上传和删除对象可以从任何Web客户端进行,无需任何身份验证,例如卷曲。
但是,如果我作为IAM用户进行身份验证(没有任何策略甚至AmazonS3ReadOnlyAccess
策略),则在尝试访问(GET
)匿名上传的对象时会收到403错误即可。可以访问上传非匿名的其他对象(例如,通过S3控制台)。发生了什么事?
回顾一下:
PS:根据IAM策略模拟器,匿名上传的文件应该可由IAM用户下载。