身份即服务(或 IDaaS)是由第三方服务商构建、运行在云上的身份验证。IDaaS 向订阅的企业、开发者提供基于云端的用户身份验证、访问管理服务。
上期说到,在互联网巨头的垄断现状下,独立自建ID服务是一个巨大的挑战。同时,随着各个国家地区数据隐私法规的颁布修改和用户对个人数据的关切,对IAM的安全性有着越来越多的要求。指纹、面容、声纹等的生物识别技术,两因素(2FA或MFA多因素)认证等都从技术上对自建ID服务形成制约。
身份服务正在变得天然复杂,并且也很难预见自建方式的明显受益。因此IDaas是当前Saas化趋势中很值得应用的场景。
首先,IDaas可以帮助业务尽快落地,将大量的资源倾斜到面对市场的服务中。IDaas厂商一般会提供丰富的SDK,实现安全高效的IAM甚至几行代码便可实现。并且能够提供生物识别、MFA、设备异常检测等安全服务。其次,丰富的第三方接入可以根据用户特性,选择合适的第三方接入,实现用户群体快速增长。例如微博、微信(很多国际IDaas厂商并不特殊支持,因为微信自身的设计并不遵循标准协议)、谷歌、苹果等都是比较好的第三方接入。 并且,IDaas支持丰富的应用场景,标准页面、定制页面、个性化插件等,可以支持很多不同的应用场景。最后,从成本上来考虑,IDaas按照用户规模或月活用户数量计费的方式,对运营也很友好。对于一些处于初创期的产品公司,对于运营成本会很关注。如果采用IDaas,成本就会很大程度和自己的用户量、收入正相关,减轻初期风险。
如果打算使用IDaas,需要如何选择合适的厂商的产品呢?我们可以从以下几个方面来评估。
应用集成
支持的授权类型 (OIDC, SAML, Oauth2.0)期望:支持所有授权类型
提供的丰富的第三方登录[e.g. Google, WeChat]
支持的应用类型 (SPA[Angular, React, Vue],
Native[iOS, Electron, Apple TV apps],
Regular Web Applications[Node.js Express, ASP.NET, Java, PHP],
Machine to Machine Applications[Shell script])
是否提供充足的SDK来帮助对接
【迁移】与现有应用程序的兼容性(WEB/MOBILE)
【迁移】与现有会话管理的兼容性
是否支持设备授权流程 【非交互式产品】[汽车、智能家居]
用户数据
是否支持存储用户的个人资料
【迁移】是否可以批量导入现有用户
【迁移】是否支持惰性账户迁移
是否可以支持自定义声明扩展令牌
能否支持混合用户数据存储
安全
是否支持多因素身份验证
能否支持无密码因素
是否支持使用私有密钥进行数据加密
是否符合风险/欺诈检测需求
品牌
能否支持托管登录界面
【迁移】能否与现有登录前端集成
是否支持配置自定义域名、甚至多域名
是否支持集成自定义电子邮件提供商、短信服务商
运营维护
平台是否可以通过配置即代码进行配置
平台能否通过API集中管理和监控
能否支持开发和暂存流程的集成
是否提供私有和公共概念
是否支持多个供应商的云环境
平台能否支持自动伸缩需求
平台是否可以通过API对所有功能进行管理
能否以对开发人员友好的方式对服务扩展进行管理
平台是否提供私有化部署
资质
是否具有服务地区的运营资质和当地法律法规的要求
产品解决方案是否支持 OIDC/oAuth/SAML 规范中存在的所有已建立的 CIAM 功能
供应商是否积极参与标准化工作组以确保自身处在行业领先地位
是否满足特定行业特需的信息安全要求或准入认证【汽车行业需要的TISAX】
费用
是否提供多样的产品规格
是否提供灵活的计费方式
以上评估IDaas的维度是非常宽泛的,需要使用方根据自身特点来进行调整。
那当前市场上有哪些比较优秀的IDaas产品呢? 其中既有老牌厂商微软的Azure和IAM龙头Okta,国内也涌现了很多诸如阿里腾讯提供的IDaas产品还有诸如Authing、芯盾时代等的新面孔。