TGViewer
AWS Notes AWS Notes @aws_notes · 5.82K subscribers
Post #2970 4.2K
Storage Browser for S3

Шёл 2024-й год. Не прошло и 20 лет спустя появления Amazon S3, как уже можно прямо в браузере ходить по S3!

https://github.com/aws-amplify/amplify-ui/issues/5731

Правда пока альфа-версия, но, глядишь, к юбилею успеют.

Хотя, вроде были варианты. Например, S3Fox:

https://aws.amazon.com/blogs/aws/s3fox_organizer/

Странно, в чём же прикол? Почему AWS потребовалось два десятка лет, чтобы придумать внешне обычный S3 просмотрщик?

Ох. Всё непросто. Дело в том, что у нас теперь новый, правильный S3. Точней, доступ к нему. Вы и не заметили, но это перепридуманный доступ к S3. Причём дважды.

AWS разработчикам пришлось всё переделать и при этом чтобы ничего не изменилось для старого и просто древнего кода.

А что ж так, зачем? Всё просто, две волшебные буквы — AI. В данном случае данные в виде Data Lake. Нужно иметь возможность задавать доступ к огромному количеству источников данных, где старый-привычный подход на базе IAM Roles и S3 Bucket policy не годится из-за ограничений и тупо неудобности.

Так были придуманы S3 Access Grants, которые были анонсированы на re:Invent 2023.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html

Реально полезное видео с этого реинвента:

https://www.youtube.com/watch?v=Ts-ZMBzGeh0

И AWS Blogs:

Часть 1 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants/
Часть 2 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants-part-2/

Кратко смысл следующий. Мы создаём S3 грант в аккаунте, с помощью которого юзер сможет получить доступ к S3 бакету или его префиксу. Юзер через условную Okta или MS Entra ID получает доступ с этим грантом через IAM Identity Center. В результате доступом к своим данным, разбросанным по аккаунтам и бакетам централизованно и при желании — извне Амазона.

Итого, что было раньше. Раньше были S3 ACL. Потом S3 Bucket Policy. Затем плюс IAM к ним. После S3 Access Points. И, на радость всем разработчикам AWS курсов, S3 Access Grants.

Важно отметить, что S3 Access Grants — нонче рекомендуемый способ предоставления доступа к данным в S3. Перевожу на понятный — все остальные "нерекомендованные". 😁

Причём тут Storage Browser for S3 вообще?

Да, собственно, вернёмся к теме. Так вот, с этими грантами вышла следующая беда. Нарезать то их можно, а вот "огласить полный список" для юзера — сразу по всем бакетам и префиксам было нельзя. Короче, та же беда, как нельзя ограничить листинг бакетов в аккаунте, чтобы не показывались те, к которым пользователь не имеет доступа.

Помните эту вечную болячку и постоянный вопрос "как сделать листинг только тех бакетов, которые нужно" — никак, листинг s3:ListAllMyBuckets требует звёздочку в ресурсах.

И вот, наконец, ему на замену есть s3:ListCallerAccessGrants, который был нужен, чтобы реализовать Storage Browser for S3 — нам же нужно вывести всё, доступное пользователю.

https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html

Итого, с помощью s3:ListCallerAccessGrants можно получить полный список доступных S3 бакетов и доступных только этому юзеру, где он не увидит имени сразу всех S3 бакетов в аккаунте.

Это победа!

P.S. Жаль нет больше в AWS Василия Пантюхина. И эти титанические усилия на стороне AWS остаются не раскрытыми. А тут такая драма, нет, остросюжетный детектив, сериал, что угодно, а видно почти никому. Полезешь копаться, а там и пасхалки, и респауны, и шкафы со скелетами на каждом уровне.

#S3
GitHub StorageBrowser RFC · Issue #5731 · aws-amplify/amplify-ui Overview StorageBrowser for Amazon S3 is an open source Amplify UI React component customers can add to their web applications to provide end-users with a simple interface for data stored in Amazon...
  • 👍 23
  • 🔥 7
  • ❤ 3
  • 🤔 1
More from @aws_notes
  1. Oct 5, 2026Приглашаем на встречу “Сжечь 50 млрд токенов и собрать кроссплатформенного агента для AI-ф…
  2. Oct 2, 2026#пятничное #перпендикулярныйхайлоад
  3. Oct 2, 2026Приглашаем на встречу Локальные LLM на своём железе, которая пройдет сегодня, 2 октября 20…
  4. Oct 1, 2026Приглашаем на встречу Gnomish Factory. Часть 2: настраиваем свой проект под использование…
  5. Sep 30, 2026🔥 Вышел релиз 0.36.1 SRE Learning Platform - курс по KCSA( Kubernetes and Cloud Native Se…
  6. Sep 28, 2026Issue #247 | 28 Sep 2026 ▪️ Bedrock Claude Opus 5.5 ▪️ Bedrock OpenAI GPT-6 Sol and GPT-6…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →