Обычный вариант - использовать 2 уровня API:
- Внешний мир подключается к API точки входа, ориентированным на конкретных клиентов - например, пользовательский интерфейс онлайн-продаж / партнеры B2B
- Entry API точек вызывают потенциально много микросервисов, ориентированных на возможности домена (Продукт / Клиент / Склад)
С точки зрения безопасности:
- API точки входа требуют маркеры OAuth
- Они проверяют токены и получают заявки
- Они управляют вызовами к микросервисам
- Микросервисы находятся в заблокированном виртуальном частном облаке
- Микросервисы не используют безопасность OAuth
- Микросервисы получают утверждения OAuth, возможно, через заголовки
В этом типе настройки микросервисы должны быть надлежащим образом заблокированы - как правило, никто не должен иметь доступ к ним напрямую в Staging или PROD - хотя вы может сделать исключения на более ранних стадиях конвейера для целей обеспечения качества.
Также, конечно, ваши заинтересованные стороны Нужно подтвердить, что это приемлемо с точки зрения безопасности.
Некоторые мои дальнейшие мысли в моем сообщении в блоге , хотя я только начинаю применять его в масштабе.