Пользовательские разрешения для конкретных приложений для RBAC в AWS - PullRequest
0 голосов
/ 12 октября 2018

Amazon Cognito предоставляет возможности для управления доступом на основе ролей (RBAC), который позволяет администратору разрешать или запрещать доступ пользователей к различным ресурсам AWS.Однако предположим, что у меня есть серверное веб-приложение, которое работает на AWS Lambda и использует Cognito для управления пользователями.Мое приложение имеет собственный набор специфических для приложения действий (например, добавление виджета, удаление вомбата, обновление foo).Мои объекты базы данных имеют отношения друг с другом (например, у каждого вомбата есть несколько foo).Я хочу иметь разрешения на уровне записи (например, этот пользователь может удалить этот foo, только если пользователь владеет вомбатом, которому принадлежит этот foo).Это разрешения для конкретного приложения.Было бы очень сложно сопоставить каждое из этих разрешений для конкретного приложения (которое я легко понимаю в своей голове как разработчика веб-приложения) с базовыми сервисами AWS.Кроме того, если я когда-либо захочу перейти на другой сервис AWS или переключиться на другого поставщика облачных услуг, мне придется полностью переделать все свои разрешения.Было бы намного лучше иметь способ, чтобы администратор / дизайнер приложения (например, я) создавал свой набор семантически значимых разрешений для конкретного приложения и имел бы службу, к которой я могу обратиться, чтобы узнать, есть ли у данного пользователя данное разрешение длязапрошенное действие над этим объектом.Предоставляет ли AWS такую ​​услугу или мне придется поддерживать свои собственные таблицы базы данных разрешений / ролей для конкретных приложений и использовать свои собственные функции для обеспечения этого?

Есть предложения?Я использую python для языка бэкэнда и MYSQL на Amazon RDS для БД.

...