API-шлюз используется для решения сквозных задач, таких как «авторизация», TLS и т. Д., А также для единой точки доступа к вашим услугам.
Возвращаясь к вашему вопросу: если ваши API-сервисы открыты для публичного доступа, вы должны их защитить.Обычно API-шлюз является единственной точкой, доступной для общего доступа, остальные службы находятся за брандмауэром (виртуальной сетью), доступ к которому возможен только через API-шлюз, если только у вас нет причин публично представлять свои службы.
например, если вы используете Kubernetes для развертывания своих служб, вы можете настроить доступ к своим службам только внутри кластера (службы имеют частные IP-адреса), и единственный способ получить к ним доступ - это шлюз API.Вам не нужно делать ничего особенного.Тем не менее, если по каким-либо причинам ваши сервисы предоставляются публично (имеют общедоступные IP-адреса), вам необходимо обеспечить их безопасность.Короче говоря, это зависит от того, как вы их развернули, и связаны ли с ними публичные IP-адреса.
На основе ваших комментариев ниже.Вы должны выполнить аутентификацию в своем API-шлюзе и передать маркер в вашем запросе вашим службам.Ваши сервисы будут только аутентифицировать токен, а не повторять всю аутентификацию.Таким образом, если вы хотите обновить / изменить провайдера или поток аутентификации, это проще сделать, если вы храните его в шлюзе API.