Как вывести список всех объектов aws s3, доступ к которым имеет текущий пользователь? - PullRequest
1 голос
/ 15 октября 2019

У меня есть корзина S3 со структурой объектов, как показано ниже:

S3://0/10/20.txt (I have permission to list 20.txt)
S3://0/11/21.txt (I DON't have permission to list 21.txt)
S3://0/12/22.txt (I have permission to list 22.txt)

Как запустить команду CLI AWS, чтобы вывести список ВСЕХ объектов в этой корзине, которые я имею разрешение перечислять?

Я попытался выполнить следующее и получил ошибку «Отказано в доступе».

aws s3 ls s3://0/ --recursive

Спасибо.

Обновление:

Я должен был сделатьясно, что я могу перечислить конкретные объекты, для которых у меня есть разрешения для перечисления, как показано ниже:

aws s3 ls S3://0/10/20.txt (this works fine)
aws s3 ls s3://0/ --recursive (this does not work)

Моя цель состоит в том, чтобы перечислить объекты из корзины, которые у меня есть разрешение на просмотр. Мои ожидаемые результаты для команды (aws s3 ls s3: // 0 / --recursive):

S3://0/10/20.txt
S3://0/12/22.txt

Обновление 2:

Я думал, что прочитал иСписок того же разрешения, но, похоже, это не так. Поэтому я обновил свои описания, чтобы отразить то, что я действительно хочу, а именно рекурсивно перечислять объекты из корзины, которые я имею разрешение перечислять (игнорируйте те, которые у меня нет разрешения перечислять).

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Это невозможно. S3 не знает, какие объекты у вас есть разрешение на чтение, пока вы на самом деле не попытаетесь их прочитать.

API-интерфейсы List Objects не знают, можете ли вы получить доступ к объекту, только то, разрешено ли вам запрашивать списки объектов, что является отдельным разрешением, которое совершенно не связано с тем, можете ли вы фактически прочитать объект.

0 голосов
/ 15 октября 2019

Возможно, вам не хватает разрешений корзины, хотя у вас есть права на чтение некоторых файлов. Попробуйте применить эту политику, если у вас нет разрешений на объекты списка в корзине S3

{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
              "s3:ListBucket"
          ],
          "Resource": [
              "arn:aws:s3:::yourBucketName"
          ]
      }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...