我已将身份安全服务与 API 网关(在端口 8080 上运行)集成,并在 Java Spring Boot 微服务环境中使用基于令牌的身份验证来保护它。 API 网关通过基于令牌的身份验证按预期工作。
但是,我面临一个问题,即各个微服务(在端口 8083、8084 等上运行)甚至安全服务本身仍然可以直接访问,无需任何身份验证。
保护所有这些服务的最佳方法是什么,确保它们在没有令牌的情况下无法直接访问,只能通过 API 网关访问?
任何有关如何正确保护这些服务并在所有端点上强制执行令牌验证的指导或建议将不胜感激。谢谢!
我遇到过诸如阻止 Kubernetes 中的端口之类的建议,但这似乎不可扩展,尤其是在涉及自动扩展时。
我认为微服务架构中身份验证和授权的最佳方法涉及使用与身份验证服务器集成的 API 网关来集中处理所有身份验证和授权流程,并将微服务配置为仅有效地接受来自 API 网关和其他内部服务的请求阻止任何其他请求。