如何建立有效的 API 安全策略(完结篇)

8、边缘到端点的安全

对于微服务架构,需要考虑“边缘到端点”的安全策略,具体如下图6所示:

如图6所示,外部API网关执行身份认证以及其他功能,例如内容检查,然后使用诸如JSON web令牌之类的标准,将安全内容“注入”到API调用中。 接下来,微网关可以使用此安全内容信息(包括API客户端的属性,如位置)执行细粒度授权。 您也可以选择,使用外部化访问管理产品,来执行该细粒度授权,例如Axiomatics Policy Server。 如果API调用得到了授权,那么微网关会将它们传递给微服务本身。 这是边缘到端点安全策略的一个好处。 这种体系结构的另一个优点是微服务到微服务之间的通信不需要经过外部网关层,也可以使用JSON web令牌。

六、下一步

如《如何建立有效的API安全策略(三)》中的图4所示,API安全性的第一步是了解您的组织创建和使用的API。 选择适当的工具来保护这些API,通过使用功能方法来标识API安全策略中的步骤,然后将这些步骤映射到提供这些功能的产品(如《如何建立有效的API安全策略(二)》中的图1、2和3所示)。

确保表1(见《如何建立有效的API安全策略(一)》)中列出的所有相关利益者都能看到这个过程。 最后,抵制诱惑,不是自己去构建API安全策略,而是使用现成的产品(其中一些可能已经被您的组织部署了),从而来获得API安全性的好处。

七、案例研究

在银行业,第三方技术公司(通常是金融科技初创公司,称为“fintechs”)提供应用程序,从而为最终用户提供服务,如个人财务管理或账户汇总。 这些应用程序一般通过一种被称为“屏幕抓取”的方法与银行进行交互。 请注意,刚刚提到的术语“屏幕抓取”的用法与以前用于用户界面的光学字符识别(OCR)的用法不同。 它以如下所述的方式工作:

1、用户在第三方应用程序中输入他们的网上银行凭证。

2、第三方应用程序提供商使用这些凭证连接到在线银行系统。

因为这些应用程序可以代表用户连接到多个银行和投资服务,所以用户凭证通常由应用程序提供商存储。 银行自然而然会担忧安全问题。 实际上,银行可以通过提供API的方式来控制第三方的访问,一般有两种实现方式:

1、应用程序提供商(例如fintechs)必须通过API开发者门户网站注册,才能使用银行的API。

2、客户登录网上银行系统,授权第三方应用程序从而代表他们来访问银行系统。 通常使用OAuth 2.0版本。

具体如图7所示:

站在银行的角度,调用API的方法更占优势。 首先,用户凭证从不传递给第三方或由第三方存储,从而限制了欺诈问题。 其次,银行还可以控制访问,因为API可能无法提供其在线银行系统提供的相同功能,从而限制其范围。 再次,还可以应用API安全性(通常使用API网关)。 然而,站在应用程序提供商的角度,很可能限制了其访问数据的能力,因为银行控制着API。 此外,fintechs可能认为,要求用户授权第三方应用程序来访问的这种方式,会引入复杂度,从而使得调用API的方法处于弱势。

银行正在与第三方协商,让对方同意通过API的方式访问数据。 Capital One Financial Corporation是一个成功的例子,它已经宣布与财务管理公司Intuit达成协议,允许使用Intuit服务套件(包括QuickBooks Online、Mint和TurboTax)的Capital One客户通过API安全地导入他们的财务数据,而无需共享登录凭证。

许多国家的银行业法规,特别是欧盟的PSD2,要求银行开放用于访问账户和支付状态的API。 这种情况下,银行在开放API时(包括支持不同级别的访问权限),嵌入API安全策略来保护这些API尤为关键。

(完)

未经同意,本文禁止转载或摘编。

今天的分享就到这里了,感谢各位读者的阅读。如您对小编分享的文章感兴趣,您可以在文章下方点赞、分享或收藏;还可以通过搜索关注知乎专栏《微服务应用开发和API管理》,或者扫描下方二维码关注灵长科技官方公众号,获取最新更新动态。

灵长科技主营业务为“基于JSON数据结构的面向服务框架的开放平台”,旗下拥有企业通用API管理系统,云端应用开发运维平台,API数据服务市场等产品阵营和多个垂直行业应用,用户群体涵盖运营商客户、企业客户、系统集成商、云端应用开发者等不同层面。完整的用户体系,涵盖多维度的产业化链条,使灵长科技成功打造了万物互联及云端服务的开放生态。

↓↓↓↓点击阅读原文进入灵长科技官网