Как отобразить, если файл общедоступен с помощью команды s3?

Я попробовал следующую команду, чтобы отобразить все файлы, которые существуют в моей корзине S3: aws s3 ls -a s3://project-files

вывод, который я получил:

2021-06-21 19:18:27     184163 1624283306646-Plastic_challenge.pdf
2021-06-21 19:25:29     184163 1624283728863-water_toxic_challenge.pdf
2021-06-21 19:26:21     184163 1624283780648-water_toxic_challenge.pdf
2021-06-21 19:38:17     184163 1624284496754-plastic_solution.pdf

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

2021-06-21 19:18:27     184163 PUBLIC 1624283306646-Plastic_challenge.pdf
2021-06-21 19:25:29     184163 Can be made Public 1624283728863-water_toxic_challenge.pdf
2021-06-21 19:26:21     184163 PUBLIC 1624283780648-water_toxic_challenge.pdf
2021-06-21 19:38:17     184163 Can be made Public 1624284496754-plastic_solution.pdf

person Prashanth P    schedule 26.06.2021    source источник


Ответы (1)


Объекты могут быть общедоступными двумя способами:

  • Сам объект может иметь настройку списка управления доступом (ACL) public, или.
  • У корзины может быть Политика корзины, которая разрешает общий доступ к корзине или ее части.

Не существует единого вызова API, который может перечислить объекты и определить, есть ли у них общедоступный ACL. Требуется отдельный вызов для получения разрешений каждого объекта, чтобы определить, являются ли они общедоступными.

Точно так же не существует вызова API, который может перечислить объекты в корзине и определить, делает ли политика корзины их общедоступными. Логика в политике корзины должна быть проанализирована, чтобы определить, какие части корзины являются общедоступными. Это может быть дополнительно усложнено дополнительными правилами в политике сегментов, которые могут, например, сделать объект общедоступным только с заданного IP-адреса.

Если вы хотите специально заблокировать общий доступ, вы можете активировать Блокировать общий доступ S3 к корзине, что может отключить общий доступ, предоставленный через политику корзины или через списки управления доступом на уровне объекта.

См. также: Список объектов S3 с общедоступными разрешениями на чтение (в частное ведро) - Qaru

person John Rotenstein    schedule 26.06.2021