Как обеспечить групповое ограничение доступа в AWS Cognito

#amazon-web-services #amazon-cognito #amazon-iam

Вопрос:

Предположим, у меня есть 1 userPool и 2 группы: group_a и group_b .
Пользователь может быть в group_a группе, в group_b группе или без группы.

Используя API cognito, как я могу реализовать управление доступом, следуя следующему правилу:
group_a пользователи могут ListUsers каждого пользователя в пуле.
group_b пользователи могут ListUsers использовать пользователей из group_b группы и без группы.
Пользователи без группы не могут ListUsers .

Читая документы AWS, я не мог найти способ обойтись без управления 2 userPool s и пересечения пулов удостоверений и ролей.
Возможно ли это сделать в одном пуле пользователей?

Ответ №1:

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