Какой паттерн/идеология для контроля доступа выбрать?
Использовал на проекте RBAC, ABAC - роли/аттрибуты. Всё это помогает для фильтрации контента на основе правил.
Но на данный момент мне нужно нечто вроде хранилища/репозитория с данными которые доступны для отображения. Тоесть мы не фильтруем, а получаем список данных которые можно отображать.
Например логика:
Манагер1 имеет доступ к списку пользователей и чтению переписки. Эти пользователи определяются как массив ID пользователей.
И вот это наше хранилище/репозиторий должно нам выдавать этот массив с ID пользователей.
Под саму идеологию RBAC или ABAC это никак не подходит, так как задача немного инная. Поэтому вопрос, какие есть паттерны и приемы для реализации такого функционала?
Я разрабатываю приложение с архитектурой микросервисов и у меня мой ABAC это отдельный микросервис который выполняет роль Policy Decision Point.
Вроде как под ABAC это и подходит. Только не понятно про "роли", там вроде все на политиках и правилах построено? В ABAC есть такая вещь как Policy Information Point, которая должна предоставлять значения атрибутов в Контекст проверки, а откуда это уже на усмотрения разработчика.