这是场景。防火墙外的用户在浏览器中执行 UI 操作。浏览器对系统 A 进行 REST API 调用(并在通过防火墙的入口点或入口点附近进行身份验证和授权)。系统 A(在公司网络防火墙内)对系统 B(也在公司网络防火墙内)进行 REST API 调用。
考虑到系统 A 的入口点已经进行了身份验证和授权,对于从系统 A 到系统 B 的“内部”REST API 调用来说,多少安全性才足够?
最佳答案
与其他任何事情一样,这取决于所涉及数据的敏感性,以及风险级别与组织想要花费的金额。
通常,使用强 SSL(https 连接)就足够了。如果您需要审核哪个 System A
提交了请求,您可能需要包括身份验证机制——为此您可以使用以下任何一种:客户端证书、HTTP 身份验证(基本或摘要)、用户名/密码作为请求参数、IP 地址映射、API key 等。
对于系统->系统调用,如果客户端系统没有改变(即不是网络浏览器或主动改变客户端),你甚至不需要“真正的”证书——一个强大的自签名证书就足够了,并且因为您将它分发到您的客户端系统,所以他们都知道源是有效的,没有第 3 方签名。
如果数据非常敏感,您可以在客户端和服务器之间建立专用连接,使用物理上分离的网络或 VPN。
关于security - *intranet* REST API 调用应该如何保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749642/