边缘认证和与令牌无关的身份传播 (4)

拥有一个像Passport的结构,可以允许定义一个使用Passport定义的服务,并且可以被其他服务校验。当传播Passport且在日志中看到该Passport时,我们可以打开、校验、了解其身份内容。也可以了解到Passport的来历,并跟踪到它是如何进入系统的。这使得调试异常身份问题变得更加容易。

降低下游系统的复杂度&负载

传递一个统一的结构到下游系统,意味着这些系统可以使用内省库查看设备和用户身份(由于使用了相同的结构,因此无需单独处理各个类型的外部令牌)

通过将令牌处理从这些系统卸载到中央边缘认证服务上,下游系统在CPU、请求延迟、垃圾回收指标当方面获得了可观的收益,所有这些都可以帮助降低集群占用空间以及云支出。下面例子中的受益都来源于主要的API服务。

在前面的实现中,每个请求必须承担两次解密/终止开销,因为我们需要在边缘具有路由的能力,且需要在下游服务中具有丰富的终止请求的能力。某些性能的提高归因于这些功能的合并-现在仅需要处理一次MSL请求。

CPU的RPS占比

卸载令牌的处理使得每个请求的CPU开销降低了30%,并降低了40%的平均负载。下图展示了CPU的RPS比率,越低越好:

边缘认证和与令牌无关的身份传播

API响应时间

API服务的响应时间有了很大提升,降低了30%的平均延迟,并使99%的延迟降低20%:

边缘认证和与令牌无关的身份传播

垃圾回收

显著降低了API服务的垃圾回收的压力,以及GC等待值时间,下图展示了垃圾回收的STW指标:

边缘认证和与令牌无关的身份传播

开发者速度

将微服务开发人员和身份验证和身份相关的问题剥离开来,意味着他们可以专注于其核心领域。现在仅在一组专门的服务中完成一次对身份认证的更改即可,而无需将变更散布到多个服务中。

下一步 更强大的认证

我们目前正在扩展边缘认证服务来通过一个新的服务"Resistor"支持多因子认证。基于机器学习模型选择性地为可疑的连接引入第二个因素。随着加入了新的流程,我们引入了新的因素,例如使用一次性密码(OTP)来发送邮件或电话,给移动设备推送通知,以及使用第三方认证应用等。

我们还可能为希望在其帐户上增加安全性的用户引入可选择的多重身份验证。

灵活的授权

现在我们已经有一个系统层面的身份验证流,在授权决策中我们可以使用该身份验证流作为一个信号。去年,我们开始探索一个新的产品访问策列(PACS),现在正在将其引入Netflix流产品中。PACS最近为Streamfest( a weekend of free Netflix in India)的体验访问控制提供了支持。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyygwz.html