1

Я новичок в AWS, и мне действительно нужна помощь в этом. У меня есть существующая схема RDS с таблицей Users, а также с моим собственным алгоритмом/системой аутентификации пользователей с использованием JWT. Все было нормально, пока я не начал работать над загрузкой файлов на S3. Я обнаружил, что при загрузке на S3. Мы не можем передавать дополнительные параметры, но только тело, ключ, contentType и к которому ведро. Я хотел передать дополнительные параметры, такие как текущий входной токен доступа пользователя (для обеспечения безопасности пользователя), user_id, название фотографии и подпись. Но это невозможно.AWS Cognito Users + Таблица реляционных баз данных. Как запросить/интегрировать оба?

Что мне делать? Должен ли я использовать пользовательские пулы AWS Cognito вместо использования RDS-пользователей? Если я использую Cognito User Pools, возможно ли выполнить SQL-запрос, например, с помощью пользователя Cognito и другой таблицы RDS? Я весьма озадачен. Простите, если я буду похож на идиота. Но мне действительно нужна помощь.

Я надеюсь, что кто-то может. Я был бы очень признателен. Заранее большое спасибо.

ответ

0

Я предполагаю, что ваша логика загрузки находится в Лямбда. В этом случае вы можете просто выполнить авторизацию для загрузки в функцию Lambda. Разрешить функции Lambda загружать данные на S3, присоединяя политику IAM к роли IAM, которую использует Lambda.

Если вы загружаете на S3 напрямую с клиента, вы можете либо сделать это без аутентификации/авторизации, либо использовать федеративные удостоверения. В этом случае вы можете либо экспортировать всех своих пользователей в пул пользователей Cognito (и синхронизировать их), либо создать собственный поставщик удостоверений и зарегистрировать своих пользователей для пула идентификаторов Cognito.

Самый чистый, но, вероятно, самый сложный способ - сохранить аутентификацию, интегрироваться с пулом идентификаторов Cognito через OpenID, SAML или собственный метод (см. http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html).

Вы должны пройти этот путь только в том случае, если: a) ваша аутентификация действительно хороша и b) вы подтвердили, что наличие пользователя в Cognito Identity Pool фактически соответствует вашим требованиям/бизнес-правилам.

Смежные вопросы