Как использовать Cognito для управления доступом к API - PullRequest
0 голосов
/ 18 мая 2018

Мы строим ряд микросервисов, используя API Gateway + lambda + DynamoDB.Нам нужно защитить эти API с помощью Cognito, который мы используем для управления пользователями.У нас будет пул пользователей и две группы с различной ролью IAM, прикрепленной к каждой группе.Потребность в том, чтобы пользователи в одной группе не могли иметь доступ ко всем службам, и поэтому пользователи в другой группе.Любые предложения, как мы можем это реализовать?Проблема заключается в том, что ID-токен, сгенерированный Cognito, не проверяется шлюзом API для проверки уровня доступа пользователя.Все, что он проверяет, является ли токен Cognito ID действительным или нет.

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете использовать пользовательские авторизаторы API Gateway для проверки политик, прикрепленных к каждой группе.

Из AWS Документация :

Вы можете использовать группы в пользователепул для управления разрешениями с помощью Amazon API Gateway.Группы, в которые входит пользователь, включаются в токен идентификатора, предоставленный пулом пользователя при входе пользователя. Вы можете отправить эти токены идентификатора с запросами в Amazon API Gateway, использовать пользовательскую лямбда-функцию авторизатора для проверки токена,а затем проверьте, к каким группам принадлежит пользователь.

Дополнительные ссылки для реализации:

https://aws.amazon.com/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/ https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/

...