参考资料:

  1. IDaaS是什么?(知乎)

    IDaaS是什么

    IDaaS的全称是Identity as a Service,字面意思即 身份即服务,是一种通过利用云基础设施,构架在云上的身份服务。
    PS:使人很容易联想到的aaS系列,IaaS、PaaS、SaaS,这里IDaaS系列也是跟云相关,云上的身份与访问管理(IAM)

为什么IDaaS可以独立的成为一项服务

通用性:

身份验证和授权功能是需要用户访问权限的任何应用程序的核心,是一项非常通用的功能,任何应用程序都需要这项核心功能,因此,可以抽象为一组通用的服务。

复杂性:

过去大多数开发人员将通过编写自己的简单用户注册功能或利用开放源代码解决方案来了解此基础知识。大多数流行的开发人员框架还包括用于处理此问题的插件,例如Devise Ruby on Rails gem或PHP Laravel身份验证库。

身份服务正在变得天然复杂:

尽管开发者可以通过开源框架能够解决简单的用户注册和管理功能,但面对随着身份验证要求变得更加严格(设备指纹识别,多因素身份验证等),这些开放源代码库将无法满足所有用例,并且无法从广泛的数据收集中受益。
复杂度来自于:

  1. 安全的需求
  2. 数据收集的需求
  3. 多应用、多服务场景的需求
  4. 监管合规的需求
  5. 业务不断变化的需求

ToB的场景下,这些需求将加剧这一复杂度,能够通过“插件式”的方案解决所有极端情况的复杂身份服务,对于企业内部开发人员和从事新想法工作的独立人员而言,将是一个非常强大的工具。

企业主要哪些场景会用到IDaaS

当企业面临以下场景的问题时,通过实施IDaaS/IAM解决方案,将立竿见影地取得效果。

  • 需要一个基于标准的解决方案,例如OpenID Connect、SAML、WS-Federation和/或OAuth2.0。
  • 期望用户可以通过各种身份提供程序进行身份验证,但缺少多帐户关联的方法。
  • 在不同的域上有不同应用程序,并且用户在每个域上需要分别登录。尤其是采购了多个SaaS的服务。
  • 开发人员花费大量时间构建和维护身份管理和身份验证,影响了核心业务应用程序的开发和构建。
  • 公司担心或经历过一些类型的数据泄露,或者您担心数据泄露。
  • 所在的行业被要求解决的行业认证和合规的问题。

具体到不同的场景,我们可以进一步明确如下:

B2E 面向员工的场景

  • 您需要为员工管理不同的授权和访问级别。
  • 当员工加入或离开公司时,您需要能够轻松地提供和取消用户的权限。

    B2C 面向客户的场景

  • 用户数据的主要来源是调查表单。如果能够轻松的提取有关用户的第三方数据,将有助于更好地了解您的客户,并通过追加销售、或有针对性的营销的方式来带来更多收入。

  • 如果应用面向消费者,你期望通过社交应用身份提供者提供一个简单的一键注册选项。
  • 或者是,随着用户群的增加,在身份认证和管理方面,您可能面临着性能瓶颈的问题。

    B2B 组织间联邦认证场景

  • 客户要求使用其企业凭据登录到您的产品。除了用户名/密码选项之外,您还需要支持企业联合与许多类型的身份提供程序(如AD、企业IM等)。

  • 需要将用户管理委派给专门客户的IT Help Desk,但现有方案不能够支撑。

    企业为什么要用这个服务?可以自己DIY 么?

    如果独立开发IAM(私有的身份服务),要求变得越来越高,其标准化程度、安全性设计和可扩展性都决定了实施的成本、维护的成本和安全性的水平。
    很多人已经浏览了核心OAuth2.0规范,并对自己进行了思考觉得我可以实现这一点,这可能是真的,但它比核心规范有更多的内容。OAuth和OIDC是一个完整的规范家族,如果我们将它们全部打印出来,可以装满一个的书架。如果是只是用到其中的部分协议和实现某个服务,这样的想法完全没问题。
    但是当把它作为企业的身份服务时,这会让我们需要考虑更多的内容,如果只是实现了OAuth/OpenID服务器,我完成了吗?不,只是在路上了。
    正因为如此,不建议自己实现服务器部分,内服有很多这些细微差别将会将开发资源拖进无尽的深渊。建议这一切最好都应该由专家来实施。尤其是在部署大规模平台时,专业的经验将帮助客户避免一些陷阱。

    简单的对比:

    | IAM | IDaaS | | —- | —- | | 从上而下的构建,功能耦合 | 从下而上,基础、组件、引擎到应用 | | 安全、功能和体验的权衡 | UX即安全,UX即功能 | | 一体化的设计和编码 | 模块化的组装 | | 封闭的软件,无法窥探内部 | 开放的社区和API,更加透明的安全审视 | | 单一应用 | 生态系统 | | 受限的用途 | 融合的场景 |

IDaaS的典型服务商

OneAuth oneauth.cn 提供开通即可用的IDaaS服务 :

Identity OS:提供基础的身份定义、验证流程定义、策略引擎、事件等基础的身份OS服务。
OneAuth 用户面板:提供SSO单点登录的服务面板和用户信息的自助管理服务。
OneAuth目录:管理分层目录结构以及组织架构管理,进行用户与IDP、应用的基础的身份映射关系的管理
OneAuth API安全:为API的访问控制,提供安全策略,提供个性化的授权服务,控制对文件、应用程序等资源的访问的逻辑。
OneAuth应用网络:提供应用模板和工具,以将预先构建的(SaaS/本地)应用发布到OneAuth应用网络。
image.png

OKTA(美国)涵盖的平台服务:

OKTA在北美市场,无疑已经成为IDaaS的领导者和标准。
Okta Identity Engine:提供定制的用户身份验证,授权和注册流程。
Okta目录:管理分层目录结构,以控制对文件、应用程序等资源的访问的逻辑。
Okta集成:提供框架,模板和工具,以将预先构建的应用发布到Okta集成网络。
Okta见解:汇总,分析和分发Okta数据以生成有用的见解,例如为安全策略提供个性化建议或为最终用户提供可疑的活动警报。
Okta工作流:允许自动化复杂的以身份为中心的业务流程。
Okta设备:收集设备特定的数据以管理身份资料和基于此的控制访问。