Когда я последний раз такое делал, то получилось следующее:
1) У каждой сущности есть владелец - пользователь
2) Отдельный сервис оргструктуры, который умеет вычислять "чьи владения имеет конкретный пользователь" (подчиненных, заместителей и т.п., там сложная логика.
3) Каждый доменный сервис в токене получал пользователя, по нему запрашивал "схему владений" из 2) и кэшиовал ее.
4) Каждый доменный сервис использовал эту схему владений в своих запросах к БД (обычно в виде in....)
5) На это накладывались оптимизации вида "а еще есть регионы на 5000 пользователей, их руководителей в схемах учитываем специальным образом в тех сервисах, где это актуально)
6) Все прочие фильтры делаем на bff фильтрацией