描述认证与预配的标准

学习目标

  • 理解 SAP Cloud Identity Services 中认证与预配的标准。

SAP 作为企业战略,通过遵循成熟的行业标准,持续改进其系统集成能力。这意味着在混合环境中,使用并支持 SAML 和 OIDC 进行认证、使用 SCIM 进行预配,以实现身份和访问管理。在以下各节中,我们将分别解释每个标准。采用这些标准的决策,为改进系统集成提供了一条直接的途径,以支持 SAP 计划支持的新云解决方案。

SAML

在认证方面,Security Assertion Markup Language (SAML) 是基于 Web 的 SSO 功能的广泛使用的标准。它是一种基于 XML 的协议,使用包含断言的 security token,在身份提供者(SAML authority)与服务提供者(SAML consumer)之间传递有关最终用户(principal)的信息。结构化信息标准促进组织(OASIS)提供了 SAML 2.0 规范,它取代了先前的 SAML 1.1 规范。目前,SAP 及其客户使用 SAML2。

视频:本节含 SAP 官方视频(视频 ID 1_qst8mx38),需在 learning.sap.com 在线观看。

使用该标准的前提是身份提供者与服务提供者之间已存在信任关系。服务提供者必须知道将认证请求发送到哪里,而这个目标——服务提供者从中获取浏览器重定向目标信息的位置——被配置为受信任的身份提供者。

OIDC

OpenID Connect (OIDC) 是 OpenID Foundation 推广的开放标准,它在 OAuth 2.0 协议之上扩展了一个身份层。授权服务器向基于 Web 的、移动的或原生客户端验证最终用户的身份。在 OIDC 的语境中,身份提供者即 OpenID provider,客户端即 relying party。

OpenID provider 通过浏览器重定向向 relying party 返回一个 OAuth 授权码,relying party 在后台通道中用该授权码交换 OAuth 访问令牌和身份令牌(ID token)。ID token 是一个 JWT,它将有关最终用户的部分信息直接传递给 relying party。借助访问令牌,relying party 可以调用 OpenID provider 的用户信息服务,以获取有关最终用户的附加信息,例如数据量太大而无法包含在 ID token 中的信息。这些信息使认证成为可能。有关 OIDC 协议及其步骤的更多详细信息,请参阅:OpenID Connect Core 1.0

SAML 仅支持基于 Web 的场景,而 OIDC 协议涵盖移动和原生场景。此外,由于 OIDC 基于 OAuth,你可以应用更多 OAuth 授权流来支持诸如服务到服务调用之类的场景。因此,OIDC 是将 SAP Cloud 应用与 Identity Authentication 集成的推荐协议。为支持 SAP Cloud Identity Services 必须从企业身份提供者获取令牌以进行服务到服务调用的场景,使用 OIDC 与企业身份提供者建立信任能获得最佳效果。Identity Authentication 会在协议之间进行转换,并以预期的令牌格式向应用颁发令牌。

鉴于 OIDC 中这些高级的令牌交换流程,对 SAML 用于 SAP BTP 与企业身份提供者之间直接集成的支持已不再具有战略意义。SAP 选择通过 OIDC 将 SAP BTP 与 SAP Cloud Identity Services 集成。使用 SAML 或 OIDC 认证的设置都能轻松处理使用不同用户标识属性的异构系统。例如,有些系统使用电子邮件地址(如 user.name@sap.com)登录,而另一些系统则要求用户名(如 JDOE)。SAML 身份提供者或 OIDC provider 中的配置支持按服务提供者或 relying party 进行映射。为了配置,必须指定特定值,例如用户的标识属性,或用 SAML 和 OIDC 术语来说的主体名称标识符。某些服务提供者可能要求其他属性,例如用户的国家或姓名。从用户存储中获取适当的信息,可以免去服务提供者与身份提供者之间的任何同步工作。

SCIM

SCIM 是用于在系统环境中自动交换用户信息的开放标准。它为对用户账户的典型操作(如检索、创建、修改和删除)提供了标准格式。用户通过特定属性、属性方案和组成员关系来描述。属性可以包含例如联系信息、组成员关系以及对授权实体的分配。

这一标准化协议显著改善了包含用户信息的系统与必须接收这些信息的系统之间的互操作性。如果没有这样的协议,每一对发送和接收系统都必须就用户属性的映射达成一致。有了标准 SCIM 协议,新应用可以进入该环境并立即发送或接收用户信息,因为双方都已理解这些信息。SAP 定义了标准 SCIM schema 作为核心 SCIM schema 的扩展,最终所有 SAP 应用都能理解它。这进一步简化了面向 SAP 应用的用户预配。

SCIM 是 SAP 用于预配的标准协议,并且 SAP 应用之间存在通用的 SAP 特定 SCIM schema。尽管可以从 IDM 到 SAP 应用建立点对点的 SCIM 连接,但 SAP 建议使用 SAP Cloud Identity Services 中的 Identity Directory 来预配用户和组。Identity Provisioning 会从该存储库将它们复制到目标 SAP 应用。

课程小结

你现在可以描述 SAP Cloud Identity Services 所使用的三个标准:SAML、OIDC 和 SCIM。

本课其余配图

SCIM