我正在尝试通过REST API删除对象并获得AccessDenied
403。
我的存储桶策略如下:
{
"Version": "2012-10-17",
"Id": "<redacted>",
"Statement": [
{
"Sid": "<redacted>",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<redacted>:user/ts-user"
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::<redacted>/*"
}
]
}
奇怪的是,如果我将我的原则更改为"*"
(公开),则DELETE有效。
用户ts-user
附加了策略AmazonS3FullAccess
,它所属的组也是如此。我还尝试过使用也是存储桶所有者的root用户的凭据。
我可以看到正在读取存储桶策略文件,因为如果删除了PutObject
权限,我将无法再上传文件。但是我不明白还需要什么,这样我才能删除上传的文件。
正在使用public-read
ACL上传文件,但我也尝试过bucket-owner-full-control
。
被困了几个小时,不知道还能尝试什么!