为 SAP Fiori 配置单一登录以使用 Microsoft Entra ID

本文介绍如何将 SAP Fiori 与 Microsoft Entra ID 集成。 将 SAP Fiori 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 SAP Fiori。
  • 让用户能够使用其 Microsoft Entra 帐户自动登录到 SAP Fiori。
  • 在一个中心位置管理帐户。

先决条件

本文中概述的方案假定你已具备以下先决条件:

  • 已启用 SAP Fiori 单一登录 (SSO) 的订阅。

方案说明

本文中,您将在测试环境中配置并测试 Microsoft Entra SSO。

  • SAP Fiori 支持 SP 发起的 SSO

注释

对于 SAP Fiori 启动的 iFrame 身份验证,我们建议在 SAML AuthnRequest 中使用 IsPassive 参数进行无提示身份验证。 有关 IsPassive 参数的详细信息,请参阅 Microsoft Entra SAML 单一登录信息。

若要配置 SAP Fiori 与 Microsoft Entra ID 的集成,需要从库中将 SAP Fiori 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 请导航到 Entra ID>企业应用>新应用
  3. 在“从库中添加”部分的搜索框中,键入“SAP Fiori” 。
  4. 从结果面板中选择“SAP Fiori”,然后添加该应用 。 请稍等几秒钟,应用程序将被添加到您的租户中。

或者,也可以使用企业应用配置向导。 在此向导中,还可以将应用程序添加到租户、将用户/组添加到应用、分配角色以及演练 SSO 配置。 了解有关 Microsoft 365 助手的更多信息。

配置并测试 SAP Fiori 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置并测试 SAP Fiori 的 Microsoft Entra SSO。 若要使 SSO 正常工作,需要在 Microsoft Entra 用户与 SAP Fiori 中的相关用户之间建立关联。

若要配置并测试 SAP Fiori 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
  2. 配置 SAP Fiori SSO - 在应用程序端配置单一登录设置。
    1. 创建 SAP Fiori 测试用户 - 在 SAP Fiori 中创建与 B.Simon 对应的账户,该账户链接到 Microsoft Entra 用户。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 打开新的 Web 浏览器窗口,以管理员身份登录 SAP Fiori 公司站点。

  2. 请确保“http”和“https”服务处于活动状态,并且已对事务代码 SMICM 分配相关端口 。

  3. 登录适用于 SAP 系统 T01 的 SAP Business Client(需要单一登录) 。 然后,激活 HTTP 安全会话管理。

    1. 转到事务代码“SICF_SESSIONS” 。 所有具有当前值的相关配置文件参数都将显示。 这些参数应与以下示例类似:

      login/create_sso2_ticket = 2
      login/accept_sso2_ticket = 1
      login/ticketcache_entries_max = 1000
      login/ticketcache_off = 0  login/ticket_only_by_https = 0
      icf/set_HTTPonly_flag_on_cookies = 3
      icf/user_recheck = 0  http/security_session_timeout = 1800
      http/security_context_cache_size = 2500
      rdisp/plugin_auto_logout = 1800
      rdisp/autothtime = 60
      

      注释

      根据组织要求调整参数。 上述参数仅作为示例。

    2. 如有必要,请在 SAP 系统的实例(默认)配置文件中调整参数并重启 SAP 系统。

    3. 双击相关客户端以启用 HTTP 安全会话。

      SAP 中的“相关配置文件参数的当前值”页面

    4. 激活以下 SICF 服务:

      /sap/public/bc/sec/saml2
      /sap/public/bc/sec/cdc_ext_service
      /sap/bc/webdynpro/sap/saml2
      /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
      
  4. 转到 SAP 系统 [T01/122] 的 Business Client 中的事务代码“SAML2” 。 配置 UI 将在新浏览器窗口中打开。 在本示例中,我们使用适用于 SAP 系统 122 的 Business Client。

    SAP Fiori Business Client 登录页面

  5. 输入用户名和密码,然后选择“登录” 。

    SAP 中的“ABAP 系统 T01/122 的 SAML 2.0 配置”页面

  6. 在“提供程序名称”框中,将“T01122”替换为“”,然后选择“保存”。

    注释

    默认情况下,提供程序名称的格式为 <sid><client>。 Microsoft Entra ID 要求的名称格式为 <protocol>://<name>。 我们建议将提供程序名称的格式保留为 https://<sid><client>,以便可在 Microsoft Entra ID 中配置多个 SAP Fiori ABAP 引擎。

    SAP 中的“ABAP 系统 T01/122 的 SAML 2.0 配置中的已更新提供程序名称”页面

  7. 选择“本地提供程序”选项卡“元数据” 。

  8. 在“SAML 2.0 元数据”对话框中,下载生成的元数据 XML 文件并将其保存在计算机上 。

    “SAP SAML 2.0 元数据”对话框中的“下载元数据”链接

  9. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  10. 浏览到 Entra ID>企业应用程序>SAP Fiori>单点登录

  11. 在“选择单一登录方法”页上选择“SAML” 。

  12. “使用 SAML 设置单一登录 ”页上,选择 基本 SAML 配置的 铅笔图标以编辑设置。

    编辑基本 SAML 配置

  13. 基本 SAML 配置 部分中,如果您拥有 服务提供商的元数据文件,请执行以下步骤:

    1. 选择“上传元数据文件”

      上传元数据文件

    2. 选择 文件夹徽标 以选择元数据文件,然后选择“ 上传”。

      选择元数据文件

    3. 成功上传元数据文件后,“标识符”和“回复 URL”值会自动填充在“基本 SAML 配置”窗格中 。 在“登录 URL” 框中,输入具有以下模式的 URL:

      注释

      某些客户遇到了为其实例配置的回复 URL 不正确的错误。 如果你收到了任何此类错误,请使用这些 PowerShell 命令。 首先使用回复 URL 更新应用程序对象中的回复 URL,然后更新服务主体。 使用 Get-MgServicePrincipal 获取服务主体 ID 值。

      $params = @{
         web = @{
            redirectUris = "<Your Correct Reply URL>"
         }
      }
      Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params
      Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
      
  14. SAP Fiori 应用程序需要特定格式的 SAML 断言。 为此应用程序配置以下声明。 要管理这些属性值,请在“设置 SAML 单一登录”窗格中,选择“编辑” 。

    “用户属性”窗格

  15. “用户属性和声明 ”窗格中,配置 SAML 令牌属性,如上图中所示。 然后完成以下步骤:

    1. 选择“编辑”以打开“管理用户声明”窗格 。

    2. 在“转换”列表中,选择“ExtractMailPrefix()” 。

    3. 在“参数 1”列表中,选择“user.userprincipalname” 。

    4. 选择“保存”

      “管理用户声明”窗格

      “管理用户声明”窗格中的“转换”部分

  16. 在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中找到“联合元数据 XML”,选择“下载”以下载该证书并将其保存在计算机上 。

    证书下载链接

  17. 在“设置 SAP Fiori”部分中,根据要求复制相应 URL 。

    复制配置 URL

创建和分配 Microsoft Entra 测试用户

请遵循创建和分配用户帐户快速指南中的指引,创建一个名为 B.Simon 的测试用户帐户。

配置 SAP Fiori 单一登录

  1. 登录到 SAP 系统并转到事务代码 SAML2 。 将打开显示 SAML 配置页面的新浏览器窗口。

  2. 若要为受信任的身份提供者(Microsoft Entra ID)配置端点,请选择“受信任的提供者”选项卡。

    SAP 中的“受信任的提供程序”选项卡

  3. 选择“添加”,然后从上下文菜单选择“上传元数据文件” 。

    SAP 中的“添加和上传元数据文件”选项

  4. 上传已下载的元数据文件。 选择“下一步”。

    选择要在 SAP 中上传的元数据文件

  5. 在下一页的“别名”框中,输入别名 。 例如:aadsts 。 选择“下一步”。

    SAP 中的“别名”框

  6. 确保“摘要算法”框中的值为 SHA-256 。 选择“下一步”。

    验证 SAP 中的摘要算法值

  7. 在“单一登录终结点”下,选择“HTTP POST”,然后选择“下一步” 。

    SAP 中的“单一登录终结点”选项

  8. 在“单一注销终结点”下,选择“HTTP 重定向”,然后选择“下一步” 。

    SAP 中的“单一注销终结点”选项

  9. 在“项目终结点”下,选择“下一步”以继续 。

    SAP 中的“项目终结点”选项

  10. 在“身份验证要求”下,选择“完成” 。

    SAP 中的“身份验证要求”选项和“完成”选项

  11. 选择“受信任的提供程序”“联合身份验证”(页面底部) 。 选择 编辑

    SAP 中的“受信任的提供程序”和“联合身份验证”选项卡

  12. 选择 并添加

    “联合身份验证”选项卡上的“添加”选项

  13. 在“支持的 NameID 格式”对话框中,选择“未指定” 。 选择“确定”

    SAP 中“支持的 NameID 格式”对话框和选项

    用户 ID 源用户 ID 映射模式的值确定 SAP 用户与 Microsoft Entra 声明之间的链接。

    方案 1:SAP 用户到 Microsoft Entra 用户映射

    1. 在 SAP 中的“NameID 格式的详细信息 “未指定””下,请注意以下详细信息 :

      显示 SAP 中的“NameID 格式的详细信息‘未指定’”对话框的屏幕截图。

    2. 在 Azure 门户中的用户 属性和声明下,记下Microsoft Entra ID 中所需的声明。

      显示“用户属性和声明”对话框的屏幕截图。

    场景 2:根据 SU01 中配置的电子邮件地址选择 SAP 用户 ID。 在这种情况下,应在 SU01 中为每个需要 SSO 的用户配置电子邮件 ID。

    1. 在 SAP 中的“NameID 格式的详细信息 “未指定””下,请注意以下详细信息 :

      SAP 中的“NameID 格式的详细信息 “未指定””对话框

    2. 在 Azure 门户中的用户 属性和声明下,记下Microsoft Entra ID 中所需的声明。

      Azure 门户中的“用户属性和声明”对话框

  14. 选择“保存”,再选择“启用”以启用标识提供程序 。

    SAP 中的“保存”和“启用”选项

  15. 出现提示时选择“确定” 。

    SAP 中“SAML 2.0 配置”对话框中的“确定”选项

创建 SAP Fiori 测试用户

在本部分,我们将在 SAP Fiori 中创建名为 Britta Simon 的用户。 与内部 SAP 专家团队或组织 SAP 合作伙伴合作,以便在 SAP Fiori 平台中添加用户。

测试 SSO

  1. 在 SAP Fior 中激活身份提供程序 Microsoft Entra ID 后,请尝试访问以下一个 URL 以测试单一登录(不应看到输入用户名和密码的提示):

    • https://<sap-url>/sap/bc/bsp/sap/it00/default.htm
    • https://<sap-url>/sap/bc/bsp/sap/it00/default.htm

    注释

    <sap-url> 替换为实际的 SAP 主机名。

  2. 测试 URL 应将你转到 SAP 中的如下测试应用程序页面。 如果页面打开,则表明已成功设置 Microsoft Entra 单一登录。

    SAP 中的标准测试应用程序页面

  3. 如果系统提示输入用户名和密码,请启用跟踪以帮助诊断问题。 使用以下 URL 进行跟踪:

    https://<sap-url>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#

配置 SAP Fiori 后,可强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制是条件访问的延伸。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制