配置 Microsoft Entra ID 以使用 NetWeaver AS ABAP 7.0 或更高版本将用户预配到 SAP ECC 中
以下文档提供了配置和教程信息,演示了如何使用 NetWeaver 7.0 或更高版本将用户从 Microsoft Entra ID 预配到 SAP ERP Central Component(SAP ECC,以前称为 SAP R/3)中。 如果使用其他版本的 SAP R/3,则仍然可以使用适用于 Microsoft Identity Manager 2016 的连接器中提供的指南作为参考,生成你自己用于预配的模板。 如果使用 SAP S/4HANA 或其他 SAP SaaS 应用程序,请改为遵循本教程来配置 SAP Cloud Identity Services 以便进行自动用户预配。 有关 SAP 集成的详细信息,请参阅管理对 SAP 应用程序的访问。
以下视频概述了本地预配。
支持的功能
- 在 SAP ECC 中创建用户。
- 在用户不再有访问需求的情况下,在 SAP ECC 中删除用户。
- 使用户属性在 Microsoft Entra ID 和 SAP ECC 之间保持同步。
超出范围
- 不支持本地活动组、角色和配置文件在内的其他对象类型。 如果需要这些对象,请使用 Microsoft Identity Manager。
- 不支持密码操作。 如果需要管理密码,请使用 Microsoft Identity Manager。
使用 NetWeaver AS ABAP 7.51 预配到 SAP ECC 的先决条件
本地先决条件
运行预配代理的计算机应具有:
- 至少 3 GB 的 RAM。
- Windows Server 2016 或更高版本的 Windows Server。
- 使用 SAP ECC NetWeaver AS ABAP 7.51 连接到系统
- 与 login.microsoftonline.com、其他 Microsoft Online Services 和 Azure 域的出站连接。 例如,托管在 Azure IaaS 或代理后面的 Windows Server 2016 虚拟机。
- .NET Framework 4.7.2
云要求
使用 Microsoft Entra ID P1 或 Premium P2(或者 EMS E3 或 E5)的 Microsoft Entra 租户。
使用此功能需要 Microsoft Entra ID P1 许可证。 要根据需要查找合适的许可证,请参阅比较 Microsoft Entra ID 的正式发布功能。
用于配置预配代理的混合标识管理员角色,以及用于在 Microsoft Entra 管理中心配置预配的应用程序管理员或云应用程序管理员角色。
要预配到 SAP ECC 的 Microsoft Entra 用户必须已经填充了 SAP ECC 所需的任何属性。
1.安装并配置 Microsoft Entra Connect 预配代理
如果已经下载了预配代理并为另一个本地应用程序进行了配置,请继续阅读下一节。
- 登录到 Microsoft Entra 管理中心。
- 请转到“企业应用程序”并选择“新建应用程序”。
- 搜索“本地 ECMA 应用”应用程序,为该应用命名,然后选择“创建”以将其添加到租户。
- 在菜单中导航到应用程序的“预配”页。
- 选择“开始”。
- 在“预配”页上,将模式更改为“自动”。
在“本地连接”下,选择“下载并安装”,然后选择“接受条款并下载”。
离开门户,运行预配代理安装程序,同意服务条款,然后选择“安装”。
等待 Microsoft Entra 预配代理配置向导,然后选择“下一步”。
在“选择扩展”步骤中,选择“本地应用程序预配”,然后选择“下一步”。
预配代理将使用操作系统的 Web 浏览器显示一个弹出窗口,供你向 Microsoft Entra ID 进行身份验证,还可能向组织的标识提供者进行身份验证。 如果使用 Internet Explorer 作为 Windows Server 上的浏览器,那么可能需要将 Microsoft 网站添加到浏览器的受信任站点列表中,以允许 JavaScript 正常运行。
当系统提示你授权时,请提供 Microsoft Entra 管理员的凭据。 用户必须至少具有混合标识管理员角色。
选择“确认”以确认设置。 安装成功后,可以选择“退出”,并关闭“预配代理包”安装程序。
2.公开必要的 SAP API
在 SAP ECC NetWeaver 7.51 中公开创建、更新和删除用户所必需的 API。 部署 SAP NetWeaver AS ABAP 7.51 文档将逐步讲解如何公开必要的 API。
3.创建 Web 服务连接器模板
如果不从 MIM 中的现有 Web 服务连接器迁移,则需要为 ECMA 主机创建 Web 服务连接器模板。 如果已有 MIM 中的 Web 服务连接器模板,请继续下一部分。
可以使用“为 ECMA2Host 创作 SAP ECC 7.51 Web 服务连接器模板”文档作为生成模板的参考。 适用于 Microsoft Identity Manager 2016 的连接器还提供了模板 sapecc.wsconfig
作为参考。 在部署到生产环境之前,需要自定义模板以满足你特定的环境需求。 确保 ServiceName、EndpointName 和 OperationName 正确。
4. 配置本地 ECMA 应用
在门户中,在“本地连接”部分,选择已部署的代理,然后单击“分配代理”。
在使用配置向导完成下一步配置时,请保持此浏览器窗口为打开状态。
5.配置 Microsoft Entra ECMA 连接器主机证书
在安装了预配代理的 Windows Server 上,右键单击开始菜单中的“Microsoft ECMA2Host 配置向导”,以管理员身份运行。 必须以 Windows 管理员身份运行,向导才能创建必要的 Windows 事件日志。
在 ECMA 连接器主机配置启动后,如果这是你第一次运行该向导,它将要求你创建证书。 保留默认端口 8585 并选择“生成证书”以生成证书。 自动生成的证书将作为部分受信任根证书进行自签名。 证书 SAN 与主机名匹配。
选择“保存”。
6.配置通用 Web 服务连接器
在本部分中,你将为 SAP ECC 创建连接器配置。
使用向导即可完成配置与 SAP ECC 的连接。 根据你选择的选项,一些向导屏幕可能不会出现,并且信息可能略有不同。 请使用以下信息来指导你完成配置。
6.1 将预配代理连接到 SAP ECC
若要将 Microsoft Entra 预配代理与 SAP ECC 连接,请执行以下步骤:
将 Web 服务连接器模板文件
sapecc.wsconfig
复制到C:\Program Files\Microsoft ECMA2Host\Service\ECMA
文件夹中。生成一个机密令牌,用于向连接器验证 Microsoft Entra ID。 它至少应为 12 个字符,并且对于每个应用程序都是唯一的。
如果还没有这样做,请从 Windows 开始菜单启动“Microsoft ECMA2Host 配置向导”。
选择“新建连接器”。
在“属性”页的文本框中填入图片下表格中的数值,选择“下一步”。
属性 值 名称 为连接器选择的名称,它在环境中的所有连接器中应是唯一的。 例如,如果只有一个 SAP 实例 SAPECC7
。自动同步计时器(分钟) 120 机密令牌 输入你为此连接器生成的机密令牌。 密钥长度应不少于 12 个字符。 扩展 DLL 在 Web 服务连接器处,选择 Microsoft.IdentityManagement.MA.WebServices.dll。 在“属性”页,在文本框中填写图片下面表格中的数值,选择“下一步”。
属性 说明 Web 服务项目 你的 SAP ECC 模板名称 sapecc
。主机 SAP ECC SOAP 终结点主机名,例如 vhcalnplci.dummy.nodomain
端口 SAP ECC SOAP 终结点端口,例如 8000
在“功能”页的文本框中填入下表中指定的数值,然后选择“下一步”。
属性 值 可分辨名称样式 泛型 导出类型 ObjectReplace 数据规范化 无 对象确认 普通 启用导入 已选中 已启用增量导入 未选中 启用导出 已选中 启用完整导出 未选中 在第一个阶段启用导出密码 已选中 第一个导出阶段没有引用值 未选中 启用对象重命名 未选中 删除-添加用作替换 未选中
注意
如果在 Web 服务配置工具中打开 Web 服务连接器模板 sapecc.wsconfig
进行编辑,则会遇到错误。
在“全局”页的文本框中填写图片下表格中的数值,选择“下一步”。
属性 值 ClientCredentialType 基本 用户名 有权调用 SAP ECC 模板中使用的 BAPI 的帐户的用户名。 密码 提供的用户名的密码。 测试连接 如果模板中没有实施“测试连接”工作流,则取消选中 在“分区”页,选择“下一步”。
在“运行配置文件”页,保持“导出”复选框为选中状态。 选择“全部导入”复选框,选择“下一步”。 当 ECMA 连接器主机需要将 Microsoft Entra ID 中的更改发送到 SAP ECC 时,将使用“导出”运行配置文件来插入、更新和删除记录。 当 ECMA 连接器主机服务启动时,将使用“全部导入”运行配置文件来读取 SAP ECC 的当前内容。
属性 值 导出 将数据导出到 SAP ECC 实例的运行配置文件。 此运行配置文件是必选的。 完全导入 将从前面指定的 SAP ECC 实例导入所有数据的运行配置文件。 增量导入 将仅导入自上次完整导入或增量导入后的 SAP ECC 实例更改的运行配置文件。 填写“对象类型”页的文本框,选择“下一步”。 按照图像下方的表填写各个文本框。
定位点:此属性的值对于目标系统中的每个对象都应是唯一的。 Microsoft Entra 预配服务将在初始周期后使用此属性查询 ECMA 连接器主机。 在 Web 服务连接器模板中定义此值。
DN:在大多数情况下,应选择“自动生成”选项。 如果未选中此项,请确保将 DN 属性映射到 Microsoft Entra ID 中的属性,其按以下格式存储 DN:
CN = anchorValue, Object = objectType
。 有关定位点和 DN 的详细信息,请参阅关于定位点属性和可分辨名称。属性 值 “目标对象” User
定位点 userName
DN userName
自动生成 已选中
ECMA 连接器主机可发现 SAP ECC 支持的属性。 然后可以选择要公开给 Microsoft Entra ID 哪些已发现的属性。 然后,可以在 Microsoft Entra 管理中心配置这些特性以进行预配。 在“选择属性”页面上,添加下拉列表中的所有属性,一次添加一个。 “属性”下拉列表中显示 SAP ECC 中发现的、先前“选择属性”页中未选择的任何属性。 添加所有相关属性后,选择“下一步”。
在“取消预配”页,“禁用流”下,选择“删除”。 在前一个页中选择的属性将无法在“取消预配”页中进行选择。 选择“完成”。
注意
如果选择设置属性值,请注意仅允许布尔值。
在“取消预配”页,“禁用流”下,选择“无”。 你将使用“expirationTime”属性控制用户帐户状态。 如果不想删除 SAP 用户,请在“删除”流下选择“无”;如果想删除,则选择“删除”。 选择“完成”。
7. 确保 ECMA2Host 服务正在运行
在运行 Microsoft Entra ECMA 连接器主机的服务器上,选择“启动”。
在框中键入“run”,并输入“services.msc”。
在“服务”列表,确保“Microsoft ECMA2Host”存在且正在运行。 否则,请选择“启动”。
如果最近启动了该服务,并且 SAP ECC 中有许多用户对象,请等待几分钟,让连接器与 SAP ECC 建立连接。
8.在 Microsoft Entra 管理中心配置应用程序连接
返回到在其中配置应用程序预配的 Web 浏览器窗口。
注意
如果窗口已超时,则需要重新选择代理。
- 登录到 Microsoft Entra 管理中心。
- 转到“企业应用程序”和“本地 ECMA 应用”应用程序 。
- 选择预配。
- 选择“开始”,然后将模式更改为“自动”,在“本地连接”部分,选择部署的代理并选择“分配代理”。 否则,请转到“编辑预配”。
在“管理员凭据”部分中,输入以下 URL。 将
{connectorName}
部分替换为 ECMA 连接器主机上的连接器名称,例如“SAPECC7”。 连接器名称区分大小写,并且应该与向导中配置的大小写相同。 也可以将localhost
替换为计算机主机名。属性 Value 租户 URL https://localhost:8585/ecma2host_SAPECC7/scim
输入你在创建连接器时定义的“机密令牌”值。
注意
如果你刚刚将代理分配到应用程序,请等待 10 分钟,以便完成注册。 在注册完成之前,连接性测试将无法正常工作。 通过在服务器上重新启动预配代理来强制完成代理注册,可以加快注册过程。 转到你的服务器,在 Windows 搜索栏中搜索“服务”,找到“Microsoft Entra Connect 预配代理服务”,右键单击该服务并重启。
单击“测试连接性”并等待一分钟。
连接测试成功并表明提供的凭据有权启用预配后,选择“保存”。
9. 配置属性映射
现在,需要在 Microsoft Entra ID 中的用户表示形式与 SAP ECC 中的用户表示形式之间映射属性。
你将使用 Microsoft Entra 管理中心配置 Microsoft Entra 用户的特性与你之前在 ECMA 主机配置向导中选择的特性之间的映射。
确保 Microsoft Entra 架构包含 SAP ECC 所需的属性。 如果要求用户具有一个属性,而该属性还不是用户的 Microsoft Entra 架构的一部分,那就需要使用目录扩展功能将该属性添加为扩展。
在 Microsoft Entra 管理中心的“企业应用程序”下,选择“本地 ECMA 应用”应用程序,然后选择“预配”页面。
选择“编辑预配”,然后等待 10 秒。
展开“映射”,然后选择“预配 Microsoft Entra 用户”。 如果这是首次为此应用程序配置属性映射,则仅有一个用于占位符的映射存在。
要确认 SAP ECC 的架构在 Microsoft Entra ID 中可用,请选中“显示高级选项”复选框并选择“编辑 ScimOnPremises 的属性列表”。 确保列出配置向导中选择的所有属性。 如果没有,请等待几分钟让架构刷新,然后重新加载页面。 看到属性列出后,从此页面取消以返回到映射列表。
现在,单击“userPrincipalName”占位符映射。 首次配置本地预配时,默认会添加此映射。
更改值以匹配以下项:
映射类型 | 源属性 | 目标属性 |
---|---|---|
直接 | userPrincipalName | urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userName |
现在选择“添加新映射”,并为每个映射重复接下来的步骤。
为下表中的每个映射指定源和目标属性。
Microsoft Entra 属性 ScimOnPremises 属性 匹配优先级 应用此映射 ToUpper(Word([userPrincipalName], 1, "@"), )
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userName 1 仅在对象创建期间 Redact("Pass@w0rd1")
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:export_password 仅在对象创建期间 city
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:city 始终 companyName
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:company 始终 department
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:department 始终 mail
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:email 始终 Switch([IsSoftDeleted], , "False", "9999-12-31", "True", "1990-01-01")
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:expirationTime 始终 givenName
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:firstName 始终 surname
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:lastName 始终 telephoneNumber
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:telephoneNumber 始终 jobTitle
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:jobTitle 始终 添加所有映射后,选择“保存”。
10.将用户分配到应用程序
让 Microsoft Entra ECMA 连接器主机与 Microsoft Entra ID 通信并配置属性映射后,接下来即可继续配置预配对象的范围。
重要
如果使用混合标识管理员角色登录,则在本部分,你需要先退出登录,然后使用至少具有应用程序管理员角色的帐户登录。 混合标识管理员角色无权将用户分配到应用程序。
如果 SAP ECC 中存在现有用户,则应为这些现有用户创建应用程序角色分配。 若要详细了解如何批量创建应用程序角色分配,请参阅管理 Microsoft Entra ID 中的应用程序现有用户。
否则,如果没有应用程序的当前用户,则从 Microsoft Entra 中选择一个将预配到应用程序的测试用户。
确保将要选择的用户具有将映射到 SAP ECC 所需属性的所有特性。
在 Microsoft Entra 管理中心,选择“企业应用程序”。
选择“本地 ECMA 应用”应用程序。
在左边的“管理”下,选择“用户和组” 。
选择“添加用户/组”。
在“用户”下,单击“未选择”。
在屏幕右侧选择用户,单击“选择”按钮。
单击“分配”。
11. 测试预配
属性已映射完毕并且已分配用户,接下来可通过一个用户测试按需预配。
在 Microsoft Entra 管理中心,选择“企业应用程序”。
选择“本地 ECMA 应用”应用程序。
在左侧,选择“预配”。
选择“按需预配”。
搜索一个测试用户,选择“预配”。
几秒钟后,将出现消息“已在目标系统中成功创建用户”,其中包含用户属性列表。
12. 开始预配用户
按需预配成功后,返回到“预配配置”页。 确保将范围设置为“仅限已分配的用户和组”,将预配状态设置为“开启”,单击“保存”。
最多等待 40 分钟,预配服务就会启动。 预配作业完成后,如果已完成测试,可以按照下一部分所述,将预配状态更改为“关”,然后选择“保存”。 此操作将停止预配服务的运行。
排除预配错误
如果显示错误,请选择“查看预配日志”。 在日志中查找状态为“失败”的行,然后选择该行。
有关详细信息,请切换到“故障排除和建议”选项卡。