Клиент браузера S3 не будет отображать объекты в корневой папке корзины

Мне нужно создать политику IAM, которая ограничивает доступ только к папке пользователя. Я следовал рекомендациям, указанным здесь:

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

Я также использую этот браузер S3, так как не хочу, чтобы мои пользователи использовали консоль: https://s3browser.com/

Однако, когда я попытался перейти в корневую папку корзины, мне выдается сообщение «Отказано в доступе. Хотите попробовать доступ с помощью Requester Pay?» ошибка.

Но если я укажу префикс с папкой пользователя, я не получаю никакой ошибки. Вот политика 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 должен позволить пользователю переходить из корневой папки в его/ее конкретную папку.


person Vincent Miles Pele Manlapaz    schedule 30.04.2019    source источник
comment
Было бы правильно предположить, что вы хотите предоставить пользователю разрешение на просмотр его собственной папки, но не чьей-либо еще папки? Если это так, политика должна иметь некоторую ссылку на пользователя. См.: Элементы политики IAM: переменные и теги — AWS Identity and Access Management< /а>   -  person John Rotenstein    schedule 07.05.2019


Ответы (1)


У вашего s3:ListBucket есть условие, что он разрешает перечисление объектов только с определенным префиксом. Это ожидаемое поведение этой политики. Если вы уберете это условие, то человек сможет просматривать все объекты во всей вашей корзине. Невозможно позволить пользователю перемещаться через графический интерфейс, поскольку ему не разрешено видеть папки в корне.

person Ninad Gaikwad    schedule 02.05.2019