Я считаю, что вы не можете (с вероятностью 99 99999)!
Пожалуйста, подтвердите, что вы аутентифицируете своих пользователей с помощью AWS Cognito User Pool. Вы, вероятно, потому что Cognito User Pool - это сервис, который предоставляет JWT. В этом случае токен будет гарантировать службе, которая его получает (шлюз API), что ваш пользователь зарегистрирован в указанном c каталоге идентификации (пул пользователей). Ваша служба должна оценить, будет ли она предоставлять доступ к своим ресурсам пользователям, зарегистрированным в этом каталоге c с указанными утверждениями (группами, ролями и т. Д. c), доступ к ресурсам.
Когда вы защищаете свой API О конечных точках шлюза с AWS_IAM вы говорите, что только удостоверения, которые AWS может распознать в своем собственном каталоге удостоверений (пользователи или роли), могут выполнять действия с ресурсом. В целом, пользователи, зарегистрированные в пулах пользователей Cognito, AWS не считаются действительными удостоверениями.
Чтобы пользователь пула пользователей Cognito считался действительным удостоверением AWS, у вас есть два варианта:
1 - настройте учетную запись AWS для использования внешних поставщиков удостоверений и федерации . Не простая вещь, а решение другого варианта использования. Таким образом, не выбирайте этот.
2 - используйте другой продукт AWS (с именем, которое создает путаницу) под названием Cognito Identity Pool . Эта служба оценивает, разрешен ли токен JWT в этом контексте (вы настраиваете его в Identity Pool). Если действительный токен из зарегистрированной директории идентификации, Cognito Identity Pool заменит ваш JWT-токен на AWS ключ доступа, AWS секретный ключ и AWS сессионный токен, связанный с указанной c ролью IAM. Затем вы можете использовать эти ключи для подписи вашего запроса. Но имейте в виду, что с этим изменением вы потеряете способность идентифицировать конкретного пользователя c в API-шлюзе и в последующих службах, вызываемых API-шлюзом. Если вам нужен токен JWT в ваших последующих сервисах, вы можете сделать это с небольшими дополнительными усилиями. Вы не можете найти здесь путь: { ссылка }