Политика S3, которая позволяет загружать в подпапку только из пользовательского Cognito `sub`

Цели:

  • Ограничить загрузку определенным набором подкаталогов, что помогает бэкэнду определить причину загрузки: /avatar/..., /cover/...
  • Иметь способ определить Cognito пользователя загрузки
  • Запретить другим пользователям переопределять содержимое в подпапке этого пользователя

Имея это в виду, я не могу понять, как ограничить возможность пользователя загружать только в подпапку с именем, полученным из Cognito пользователя sub идентификатор. Или любая другая строка, из которой я могу идентифицировать и извлечь пользователя из пула когнитивных функций.

Пример: avatar/${aws:cognito-sub}/filename

я нашел aws:userid в документах, но это относится к:

идентификатор роли: имя, указанное вызывающим абонентом

где идентификатор роли - это уникальный идентификатор роли, а имя-роли-вызывающего абонента указывается параметром RoleSessionName, передаваемым в запрос AssumeRoleWithWebIdentity.

Больше контекста: загрузка обрабатывается в лямбда-выражении. Лямбда преобразует изображение, но затем необходимо сохранить преобразования в другом s3 и сослаться на них пользователю в DynamodB.

0 ответов

Другие вопросы по тегам