Как можно ограничить результаты ListBucket с помощью политики IAM для перечисления специальных папок? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть корзина S3 с несколькими папками / подпапками, и я использую CloudBerry Drive, чтобы представить хранилище пользователям в Windows Explorer.Из соображений конфиденциальности мне необходимо создать политику IAM, которая будет ограничивать результаты, показанные в операции s3:ListBucket по умолчанию, - с политиками, специфичными для проекта, которые будут отображать указанные папки, когда эта политика присоединена к учетной записи IAM.

* 1003Я безуспешно пытался использовать опцию префикса (см. Блок кода), но документация, которую я нашел, предполагает, что это должно работать.Возможно, я неправильно понял параметр префикса?

Вот пример структуры S3:

arn:aws-cn:s3:::mybucket

projects/
projects/confidential/
projects/my project/
projects/public/

Мне нужна политика по умолчанию, которая будет возвращать проекты / публичные, только когда я перечисляю содержимоепроекты / папка в проводнике.Затем мне нужно иметь возможность добавить политику к выбранным учетным записям IAM, которая также будет перечислять проекты / мой проект, когда я перечисляю содержимое проектов / папки.

{
   "Action": ["s3:GetBucketLocation","s3:ListBucket"],
            "Effect": "Allow",
            "Resource": ["arn:aws-cn:s3:::mybucket"],
            "Condition": {
                "StringLike": {
                    "s3:prefix": ["","projects/public/*"
                    ],
                    "s3:delimiter": ["/"]
                }
            }
        }

До сих пор, используя различные комбинации префиксовЯ могу либо ничего не перечислять, либо все - я просто не могу ограничить то, что возвращается.Это вообще возможно?

Если нет - есть ли альтернативные подходы для достижения того же самого?

Спасибо

1 Ответ

0 голосов
/ 15 июня 2019

Невозможно «ограничить возвращаемое», но вы можете ограничить «запрашиваемое».

То есть вы можете Allow запрос, где префикс projects/public. Запросы, которые не имеют этот префикс, будут отклонены по умолчанию.

Сложность состоит в том, что пользователи не смогут "переходить" от корня сегмента к разрешенному префиксу. Им потребуется каталог go go с префиксом , чтобы можно было перечислять объекты.

...