保护互联网上的遗留API

问题描述:

我们有一个内部遗留API,需要受保护才能在互联网上使用。我们决定使用反向代理来提供SSL终止,但现在的问题是如何使用OAuth令牌来控制访问。保护互联网上的遗留API

眼下,对其进行修改是不可能出于不同的原因,我不能在这里解释的应用。我需要快速和肮脏的东西(但安全!)才能将API发布到Internet上。

我正在做一些研究,我有这样的想法:使用HAProxy的,写一个LUA脚本来检查OAuth令牌在头部,并让使用者或不给不同的用户。我也在考虑使用Apache作为反向代理并编写一个模块来做同样的事情。

我的担忧是关于性能和安全性......我是不是采取最好的办法?你知道这个用例更好吗?

如何放置一个API网关的客户端应用程序(= API调用者)和你的API之间?例如,如果您使用Amazon API Gateway的自定义授权者,则可以将OAuth令牌的验证委派给外部授权人,并仅在成功验证OAuth令牌时调用您的API。在此体系结构中,您可以通过OAuth令牌保护您的API,而无需修改API的实施。

不仅亚马逊但也有一些其他公司提供的API管理/网关解决方案。例如,Microsoft,CA Technologies等。

FYI:

  1. Introducing custom authorizers in Amazon API Gateway(亚马逊计算博客)
  2. Use Amazon API Gateway Custom Authorizers(AWS文件)
  3. Amazon API Gateway Custom Authorizer + OAuth(Authlete)
+0

我想你了 “API网关” 钉它。我甚至不认为它是一种选择。你给了我一个继续寻找的新途径。谢谢! – JonDoe297