0

我有一个桶:s3://mybucket

我只想允许删除下的对象s3://mybucket/test

我尝试了以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1604573937792",
            "Action": [
                "s3:DeleteObject"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::mybucket/",
                "arn:aws:s3:::mybucket/*"
            ],
            "Condition": {
                "StringLike": {
                    "s3:prefix": "test/*"
                }
            }
        }
    ]
}

但是,尝试删除对象的 IAM 策略模拟器arn:aws:s3:::mybucket/test/x.txt失败并显示“隐式拒绝(无匹配语句)”。我应该改变什么?

4

1 回答 1

0

如果您查看Amazon S3 - AWS Identity and Access Management 的操作、资源和条件键,您会注意到DeleteObject不接受Prefix.

相反,您可以使用:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:DeleteObject",
            "Resource": "arn:aws:s3:::mybucket/text/*"
        }
    ]
}
于 2020-11-05T21:41:35.083 回答