-1

在我的 webapp 架构中,我有一个 api 网关,它代理对我的微服务的请求,还有一个公共微服务,其他微服务可以通过 rest api 查询。所有这些都在节点服务器上运行。我希望微服务只能从 api 网关访问,除了公共服务器也可以从其他微服务访问。实现这一点的最佳网络架构是什么,我是否需要以某种方式处理服务器之间的身份验证? 在此处输入图像描述

4

2 回答 2

1

安全需要在多个层面进行处理,因此它是一个非常广泛的主题。但是,我将分享一些您可以进一步探索的建议。

首先,任何安全都是有代价的。这是你需要做的权衡。

如果您可以确保服务仅对其他服务和 API 网关可用,那么您可以将应用层安全委托给 API 网关,并在 API 网关本身剥离安全标头,并继续在服务之间进行自由通信。这就像使用 ip 限制(或其他可以访问服务的方式)创建受限区域,以及处理所有外部流量的 api 网关或反向代理。就安全性而言,这将使您能够专注于少数服务。您在这里应该注意的一点是,您也将失去授权部分,但如果您愿意,您可以保留它。

如果您使用 AWS,则需要查看安全组和 VPN 等来设置安全层。

安全的一部分也是为了确保服务始终可以访问并且不易受到 DDOS 的影响。API 网关确实有防范此类威胁的方法。

于 2018-03-20T08:02:42.980 回答
0

对于“API 网关”前端身份验证,您可以使用OATH2,对于后端部分,您可以使用OpenID connect,这将允许您使用与用户相关的键值,例如 uuid 并使用它在 API 网关后面的微服务级别设置访问控制。

您可以在下一个链接中找到有关OpenID 连接身份验证的更多信息。

于 2018-03-24T09:51:37.983 回答