bra*_*w98 6 architecture security authorization design-patterns microservices
我正在尝试构建微服务架构。我了解到 API 网关的一些好处,例如:负载平衡、调用多个微服务并聚合结果、缓存管理等。所以我决定将其包含在我的系统中。
我的问题是我是否应该在网关层或在每个微服务端点中单独实现授权?例如,在网关上对用户进行身份验证并以解密形式传递用户声明,以便在每个服务调用的授权逻辑中使用?
在调用每个服务之前授权某些聚合似乎是有意义的,并且可以节省处理时间。然而,授权逻辑实际上是个人服务的一个问题。
你有什么建议?
每个微服务端点。在API网关中实现授权会使您的系统变得僵化。如果在以后的任何阶段您必须分离授权逻辑(例如,内部用户、外部用户、开放 api)。这将非常难以合并。授权应该发生在每个 API 级别。