Я участвую в разработке мультитенантного облачного SaaS. Сейчас у нас около 15 микросервисов. Мы используем mon go как серверную часть с db на каждого арендатора в качестве разделения аренды. Сейчас мы пытаемся разработать rba c для всей платформы. Ниже приведены вопросы, которые у меня есть относительно того же.
Должен ли я иметь центральную микрослужбу authz для управления моим rba c autz? а. При этом, если служба authz выходит из строя, затрагиваются все микросервисы, и платформа становится непригодной или непригодной для использования. (Плохо) b. Сервис будет хранить роли / разрешения для всех ресурсов в микросервисах. (Хорошо) c. Для каждого запроса, который приходит в api gw post auth будет go для authz, и перед вызовом микросервиса он может быть отклонен. (Хорошо)
Должен ли я иметь боковой автомобиль для каждого микрослужба как мой autz Нет единой точки отказа ... если authz не работает для какой-то службы, другая служба может продолжать работать. (хорошо) Каждая служба будет иметь свои разрешения .. (хорошо) Служба аутентификации может хранить информацию о ролях и группах для получения разрешения он должен обратиться к отдельному сервису для управления им (разрешение CRUD). (плохо) Оценка Authz происходит на индивидуальном уровне сервиса. (не уверен)
Любой другой подход?
Спасибо, Джит