Все зависит от того, как вы защитите свою конечную точку шлюза API.
Если вы защищаете свой API с помощью AWS IAM, вам потребуется способ преобразования ваших токенов аутентификации в AWS Роли IAM. Для этого сценария вы можете использовать AWS Cognito Idp (не пул пользователей) или AWS Федеративные удостоверения. Разница в том, что при использовании AWS федеративных идентификаторов IAM вам потребуется вызвать AWS STS AssumeRoleWithWebIdentity в коде внешнего интерфейса. Если вы используете AWS Cognito Idp, это сделано для вас. , (AWS настоятельно рекомендует вам использовать Cognito Idp в этом сценарии)
Если вы защищаете свой API с помощью AWS Cognito User Pools , вам не нужно использовать AWS Федеративные идентичности. Вы можете напрямую подключить API-шлюз к AWS Cognito, и служба обеспечит контроль за вами. В этом случае вам понадобится пул пользователей Cognito.
У вас также есть выбор использования пользовательских авторизаторов . В этом сценарии вы реализуете лямбда-функцию, которая оценит ваш запрос и решит, авторизован он или нет. Точно так же вам не понадобятся федеративные удостоверения.
И, наконец, у вас есть авторизация API Key, о которой вы уже упоминали, которая не применима к вашему варианту использования.