AWS: настройте пользователей Cognito на принятие определенной роли IAM для выполнения лямбда-функции

#amazon-web-services #aws-lambda #amazon-cognito #amazon-iam

#amazon-web-services #aws-lambda #amazon-cognito #amazon-iam

Вопрос:

Я внедрил аутентификацию на основе пула пользователей Cognito для шлюза API.

Я хочу предоставить доступ к определенным ресурсам AWS на основе пользователя Cognito.

Согласно ссылке ниже, я подумываю внедрить поток создания пользователя / аутентификации.

https://aws.amazon.com/premiumsupport/knowledge-center/cognito-user-pool-group/

Процесс создания пользователя

  1. Для каждого пользователя я планирую создать нового пользователя Cognito.

  2. Будет создана новая роль IAM.

  3. С этой ролью IAM будет создана новая группа пользователей Cognito.

  4. Пользователь Cognito будет добавлен в эту группу.

Поток аутентификации пользователя

После аутентификации пользователь будет использовать токен ID для последующих вызовов API.

На основе этого идентификатора будут извлечены имя пользователя и роли IAM.

Лямбда-функция примет на себя эту роль и выполнит код.

Существует мягкое ограничение в 300 на количество групп, которые могут быть созданы в пуле пользователей Cognito.

Запросы —

  1. Есть ли какой-либо лучший / оптимизированный поток, который можно использовать для реализации?

  2. Могу ли я назначить роль IAM для каждого пользователя Cognito, не создавая новую «группу» пользователей Cognito?

  3. Я предполагаю, что это мягкое ограничение в 300 на количество групп пользователей в пользовательском пуле может быть увеличено путем отправки запроса в AWS.

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

1. К какому ресурсу вы планируете предоставить доступ?

2. В чем причина создания новой роли IAM для каждого пользователя? У каждого пользователя должны быть разные разрешения?

3. Я думаю создать отдельные таблицы DynamoDB для каждого клиента. Таким образом, для каждого клиента будет соответствующая роль IAM, с помощью которой я смогу контролировать доступ к таблицам DynamoDB.