Этот ресурс Безсерверный стек поможет вам точно выполнить то, что вы хотите сделать, он помог мне настроить аналогичные "безсерверные" развертывания.
Шаблон для того, что вы описываете, выглядит следующим образом:
- Пользователи проходят проверку подлинности с помощью пула удостоверений, возвращается JWT
- Федеративные удостоверения возвращает учетные данные AWS IAM для действительного JWT (примечание: федеративное удостоверение должно иметь Политику, позволяющую учетным данным AWS IAM получать доступ к S3)
- Используя учетные данные AWS IAM, пользовательский клиент может загрузить изображение на S3
Что касается пула идентификаторов, то ваш идентификатор пула идентификаторов фактически является общедоступным ресурсом, как и ваше веб-приложение. Ваш пул удостоверений защищен тем фактом, что пользователи должны существовать в пуле удостоверений и иметь правильный пароль для этого пользователя.