У меня есть веб-API ASP.NET, который использует AWS Cognito для аутентификации и контроля доступа к ресурсам.До этого момента мы использовали группы пулов пользователей для определения определенных объектов, к которым у пользователей есть доступ (ресурсы non-aws в БД).
Проблема в том, что теперь, когда наши требования к контролю доступа более подробны, мы достигли ограничения группы в 25 на пул.Я рассмотрел альтернативы в Cognito, такие как использование пользовательских атрибутов, но обнаружил, что существуют также ограничения на количество пользовательских атрибутов в пуле, а также они поддерживают только строковые и числовые типы, а не массивы.
Другой альтернативой, которую я исследовал, является перехват токена, когда он попадает в наш API, и добавление заявок на основе разрешений, отображаемых в БД.Это работает достаточно хорошо, но это только на стороне сервера решений, и я не совсем в восторге от необходимости перехватывать каждый запрос на добавление претензий с помощью вызова БД (не очень хорошо для производительности).Нам также нужны некоторые из этих претензий на стороне клиента, так что это не очень хорошее решение.
Помимо запроса увеличения лимита обслуживания до количества групп, доступных для пула, я что-то упускаю из виду?Похоже, что для этого предложены группы, основанные на документации AWSДаже если бы мы выбрали мультитенантный подход с несколькими пулами, я думаю, что ограничение на 25 групп по-прежнему будет проблемой.
https://docs.aws.amazon.com/cognito/latest/developerguide/scenario-backend.html