SAP Analytics Cloud 中的 SAML 身份验证功能

首先:什么是 SAML

安全断言标记语言 (SAML) 是一种开放标准数据格式,用于多方之间交换身份验证和授权数据。在下图中,我们可以看到三方之间的简单交换:

SAP Analytics Cloud 为服务提供商。浏览器试图访问软件时,被系统重定向至负责验证用户身份的第三方身份提供者。

SAP Analytics Cloud 采用的是 SAP 自有的身份验证服务。获取租户 URL 并首次登录 SAP Analytics Cloud 时,你将被系统重定向至 SAP Cloud Platform Identity Authentication 服务。这是默认使用的 SAML 身份提供者。

 

如何配置你自己的 SAML 身份提供者 (IdP)

可使用菜单中的自助服务工具:

“系统”>“管理”>“安全”(选项卡)

产品指南中包含配置相关内容:启用 SAML 单一登录 (SSO)。如前所述,产品已启用 SAML SSO。所以本部分要介绍的是:启用你自己的 SAML 身份提供者。

在这里,我将只介绍被多次问到的几个步骤。

 

第 1 步:下载服务提供者元数据

该 XML 文件含有面向 SAP Analytics Cloud 租户的证书。必须将其导入到你的 SAML 身份提供者 (IdP)。

你无需更改任何内容。看上去可能会有点困惑,因为这些标记的位置可能不同:

<KeyName>yourcompany.us1.businessobjects.cloud</KeyName <ns3:AssertionConsumerService index=”0″ isDefault=”true” Binding=”urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST” Location=”https://authn.us1.hana.ondemand.com/saml2/sp/acs/aa10027b00/aa10027b00″/>

 

只需请 IdP 管理员导入该文件即可。一些示例请参见:

公共 KBA 2487116 中的 Active Directory Federation Service

SAP Cloud Platform Identity Authentication 服务。位于产品文档中的“配置可靠的服务提供者”部分。

 

第 2 步:上载身份提供者元数据

这一步非常简单,只需使用 IdP 管理员提供的 XML 文件即可。你是 IdP 管理员,但你不知道在何处找到该文件?下面举一些例子说明:

Azure AD Federation 元数据:https://login.microsoftonline.com/<租户域名>/FederationMetadata/2007-06/FederationMetadata.xml

Active Directory Federation Services: https://yourserver.yourdomain.com/FederationMetadata/2007-06/FederationMetadata.xml

SAP Cloud Platform Identity Authentication 服务:文档中的“租户 SAML 2.0 配置”部分

 

第 3 步:选择用户属性以映射到身份提供者

这一步通常会因以下原因而变得比较复杂:

  • 区分大小写
  • IdP 中配置的转换不正确

在映射 SAP Analytics Cloud 用户和 IdP 用户时,可能要使用两个主要属性:电子邮件或用户 ID。

在 SAP Analytics Cloud 中,用户 ID 始终为大写形式,这可能与你的企业身份提供者不同。

我收到过几个与名称 ID 属性有关的问题:

<NameID Format=”urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified”>JULIAN</NameID>

这是由身份提供者返回给服务提供者 (SAP Analytics Cloud) 的。它不在你到目前为止使用的任何 .xml 文件中。如果想要查看,需使用 Chrome 中的 Web 开发工具。可在 KBA 2487567 中查看详细信息。

在我的示例中,返回的值是 JULIAN。你可能已猜到,在本例中,我需要在 SAP Analytics Cloud 属性映射中选择用户 ID。它相当于我在 SAP Analytics Cloud 中的用户 ID。如果返回的属性是 Julian,则会失败。

如果我的公司使用证书、指纹…会怎样?一旦你的身份经过验证,SAML IdP 可将来自其中一个属性的值作为断言发送。例如,下图来自 AD FS:

 

第 4 步:使用身份提供者验证你的账户

关于该步骤的几个问题:

  • 请验证之前步骤中显示的登录凭据。如果你看到用户,这是 IdP 预期返回的名称 ID 属性。
  • 如果大小写不完全匹配,可选择电子邮件。你需要确保断言中返回的名称 ID 属性也是电子邮件。
  • 匿名:为什么?当你已使用你的用户连接到 SAP Analytics Cloud,又再次使用其他 SAML IdP 重新连接时则会匿名。