S3浏览器客户端不会在存储桶根文件夹中显示对象

时间:2019-04-30 03:50:36

标签: amazon-s3 amazon-iam

我需要创建一个IAM策略,该策略仅限制对用户文件夹的访问。我遵循此处指定的准则:

https://docs.amazonaws.cn/en_us/AmazonS3/latest/dev/walkthrough1.html

我也正在使用此S3浏览器,因为我不希望用户使用控制台:https://s3browser.com/

但是,当我尝试导航到存储桶根文件夹时,它给了我一个“访问被拒绝。您想尝试请求者付费访问吗?”错误。

但是,如果我在用户文件夹中指定前缀,则不会收到任何错误。这是我创建的IAM策略:

{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AllowRequiredAmazonS3ConsolePermissions",
                "Effect": "Allow",
                "Action": [
                    "s3:ListAllMyBuckets",
                    "s3:GetBucketLocation"
                ],
                "Resource": "*"
            },
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "s3:ListBucket",
                "Resource": [
                    "arn:aws:s3:::bucket-name"
                ],
                "Condition": {
                    "StringEquals": {
                        "s3:prefix": [
                            ""
                        ],
                        "s3:delimiter": [
                            "/"
                        ]
                    }
                }
            }
        ]
}

此IAM策略的预期结果应允许用户从根文件夹导航到他/她的特定文件夹。

1 个答案:

答案 0 :(得分:0)

您的s3:ListBucket有一个条件,即只允许使用某些前缀的对象列表。这是此策略的预期行为。如果您删除此条件,那么此人可以查看整个存储桶中的所有对象。 由于不允许用户查看根目录下的文件夹,因此无法让用户通过gui进行导航。