我是微服务和系统设计的新手,我正在尝试了解 API 网关在身份验证和授权中的作用。
我遇到了两种不同的方法,每种方法都有其优点和缺点:
1。 API网关处理授权
在此方法中,API 网关:
优点:
缺点:
2。每个微服务处理授权
这里,每个微服务:
优点:
与零信任安全模型保持一致。
每个服务都强制执行自己的安全性,减少对
的依赖
网关。
缺点:
问题
业界更广泛采用哪种方式,在选择这些模型时应考虑哪些因素?
这里有更稳健的答案:带有 api 网关的微服务授权模式,但一般来说,您确实希望在服务层中耦合授权,否则您将很快在网关中创建“上帝对象”反模式。 当您的网关深入了解其所面对的所有服务的内部运作方式时,它将很快违反单一责任原则。