我如何在我的微服务架构中处理安全性?

时间:2018-03-20 06:45:05

标签: authentication google-cloud-platform microservices vpc api-gateway

在我的webapp架构中,我有一个api网关代理对我的微服务的请求,还有一个共同的微服务,其他微服务可以通过rest api查询。所有这些都在节点服务器上运行。 我希望微服务只能从api网关接近,除了普通的服务器,它也可以从其他微服务上接近。什么是实现这一目标的最佳网络架构,我是否需要以某种方式处理服务器之间的身份验证? enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

答案 1 :(得分:0)

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

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