У меня есть RESTful API и микросервисная архитектура. Такие как -
- Служба аутентификации
- Пользовательское обслуживание
- Сервисное обслуживание продуктов
- Более ...
В настоящее время я проверяю запрос через токен JWT, который можно получить из службы Auth. Теперь пришло время внедрить систему контроля доступа.
Это внутреннее инструментальное приложение (довольно сложное), и моей основной мыслью было использовать RBAC (управление доступом на основе ролей), но это приложение не было традиционным. В приложении пользователь A может объединиться в пару с другим пользователем B, и после завершения объединения в соответствии с настройками пользователя B пользователь A может выполнять различные действия.
Таким образом, разрешения не статичны и основаны на других переменных. Так следует ли мне использовать систему ABAC / PBAC? Какие-либо предложения?
Мысли об ABAC
- Субъекты - Кто отправляет запрос, например, Пользователь A
- Объект - доступ к чему? например, модуль A
- Действия - читать или писать? например, прочитать запрос GET
- Среда - условие, например, для какого пользователя? (Пользователь B)