在微服务部署中处理微服务级别或api-gateway级别的安全性是否更好?是否存在比另一方更贴切的情况?
答案 0 :(得分:2)
来自this文章:
使用API网关的一个主要好处是它封装了应用程序的内部结构。客户端只需与网关通信,而不必调用特定服务。
这只是意味着客户端通过API网关与微服务进行通信,并且该网关处理任何底层服务的所有请求。
因此,我认为如果您需要对请求进行任何授权,那么在API网关本身进行此操作是有益的,因为这样,未经授权的请求永远不会到达您的服务。
但这也不是一个完整的解决方案。让我们考虑一个实际验证用户身份的服务。此服务将始终由尚未获得授权的用户访问,因此,在服务级别而不是API网关实现此服务的安全性是有意义的。
另外,考虑一下创建订单的服务。如果任何内部服务可以调用此服务并创建订单,而不需要任何令牌(或任何其他身份验证过程),该怎么办?现在可以使用以下方法解决这个问题:
当然这是一个高级别的概述,是我的想法,我愿意看到其他人的意见。
答案 1 :(得分:1)
我说它是使用某种反向代理作为安全网关的常用方式,它会生成某种安全令牌,例如SAML。
否则,例如,如果您有一些链式调用,例如微服务用户调用微服务事务日志,则每个微服务都会一次又一次地为自己执行身份验证。这可能会非常昂贵。