AWS предлагает несколько проверенных архитектур и инструментов для упрощения описанного выше варианта использования.
Нет необходимости использовать несколько пулов пользователей для вышеуказанного варианта использования. Это можно сделать с помощью одного пула пользователей.
Простая архитектура может быть UI-> API gateway-> Lambda-> DynamoDB
Пользователи в пуле пользователей Cognito можно добавлять в группы и устанавливать с помощью политик IAM. Затем API-шлюз можно настроить для IAM или Cognito Authorizer. Каждая лямбда-запись, написанная для доступа к различным таблицам DynamoDb, может быть авторизована на уровне API.
В этом случае пользовательский авторизатор не требуется.
Используйте AWS Amplify для аутентификации пользователя и всех других коммуникаций. Amplify будет обрабатывать часть передачи токена самостоятельно с любым дополнительным написанным кодом. При этом подходе токены JWT могут считываться / проверяться и логически использоваться на уровне пользовательского интерфейса, а также в коде сервера (лямбда). Этот же токен используется в шлюзе API для авторизации по умолчанию (без написания кода).
Пул пользователей Cognito и пул удостоверений - это решения AWS корпоративного уровня, а AWS Amplify дополняет высоконадежную реализацию протоколов Sigv4, SRP и т. Д., Которые очень сложны и сложны для реализации с использованием пользовательского кода.