Ограничение доступа пользователей группы пользователей cognito к конечной точке шлюза API

#amazon-web-services #aws-lambda #authorization #aws-api-gateway #amazon-cognito

#amazon-web-services #aws-lambda #авторизация #aws-api-gateway #amazon-cognito

Вопрос:

Я пробую свои силы в Cognito и пытаюсь ограничить авторизацию несколькими конечными точками API через консоль.

  1. В пуле пользователей Cognito есть разные группы (брокер, оператор).
  2. В API gateway для обоих (брокера, оператора) есть разные API.
  3. Ограничьте доступ таким образом, чтобы группа брокеров могла получать доступ только к API брокера, а оператор — к API оператора.

Что я сделал:

  1. Я создал пул пользователей и добавил группу (брокер и оператор)

  2. Я разработал несколько демонстрационных API, чтобы проверить, могу ли я ограничить доступ.

  3. Я проверил, что мы можем ограничить доступ к API через пул пользователей, настроив авторизацию API для Cognito, и Cognito генерирует токен JWT для пула пользователей. (Но я смотрю на уровне группы).

Может ли кто-нибудь предложить, как я могу ограничить доступ, чтобы группа брокеров могла получать доступ к API-интерфейсам, предназначенным для брокеров, а группа операторов — к API-интерфейсам доступа, предназначенным для оператора?

Комментарии:

1. Итак, чтобы подтвердить, у вас есть несколько API, но одна группа Cognito?

2. @ChrisWilliams, у меня есть один пул пользователей, в котором у меня есть 2 группы пользователей (брокер и оператор). Есть два набора API (которые выполняют операции CRUD для групп), один для брокера, а другой для оператора. Чего я пытаюсь добиться, так это того, что брокер должен иметь доступ только к API брокера

3. Вы смотрели на пользовательские авторизаторы?

4. @RodrigoM, я прошел некоторую авторизацию костюма, которая присутствует в этой ссылке . medium.com/@awskarthik82/… Здесь они используют размещенный пользовательский интерфейс в cognito для генерации токена JWT, который. Но когда я пробую это с помощью веб-приложения, сгенерированный joken не имеет надлежащей области действия. Есть ли какой-либо другой способ добиться этого