Как организовать инфраструктуру многих приложений?
Сначала опишу ситуацию:
у меня есть клиенты юрлица, которые имеют доступ к нашей онлайн системе. У каждого юрлица есть сотрудники. Сотрудники имеют разные роли, как следствие в нашей системе они имеют разный доступ. Также у нас есть партнеры, которые имеют доступ к аккаунтам своих клиентов. Мы имеем доступ к аккаунтам всех клиентов и партнеров. Плюс постепенно мы расширяем круг возможностей, доступных клиентам и партнерам, усложняя систему, которая достаточно монолитна.
Теперь о том, что хочется получить:
Разделить систему на "приложения": конфигурирование подсистем, отчеты, работа с клиентами и т.п. В итоге получается, что должен быть центральный сервис с аккаунтами клиентов и партнеров, с данными пользователей (логинами паролями для авторизации), который будет как раз делать авторизацию и отдавать данные о том, какие сервисы доступны клиентам согласно их договоров. И собственно сами приложения, которые будут авторизовать пользователей и предоставлять доступ к тем или иным своим ресурсам, согласно полученной информации об уровне доступа пользователя.
Теперь к сути вопроса: где, что можно почитать об этом? какие-то решения можно использовать из доступных на рынке и в open-source? особенно, мне кажется, для центрального авторизационного сервиса и прав доступа.