亚马逊网络服务 S3 访问被看似良好的 IAM 政策拒绝

Amazon Web Service S3 Access Denied with seemingly good IAM policy

以下 AWS 策略旨在绑定到 IAM 组,然后添加到用户。这将授予组中的每个用户访问 Amazon S3 上他们自己的文件夹的权限。

现在的问题是,使用此策略,用户在他们自己的文件夹中仍然会被拒绝访问,他们无法列出存储桶或执行任何其他操作。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListAllMyBuckets",
            "s3:GetBucketLocation"
        ],
        "Resource": "arn:aws:s3:::*"
    },
    {
        "Effect": "Allow",
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::bucketname",
        "Condition": {
            "StringLike": {
                "s3:prefix": [
                    "",
                    "home/",
                    "home/${aws:username}/"
                ]
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": [
            "arn:aws:s3:::bucketname/home/${aws:username}",
            "arn:aws:s3:::bucketname/home/${aws:username}/*"
        ]
    }
]

}

我最终想要的是用户能够从他们自己的文件夹中放置和获取文件,但看不到任何其他文件夹或存储桶,但这似乎无法通过此策略实现。

想法?

显然应用政策最多需要几分钟,政策现在可以正常验证。