使用 Web 服务连接器进行预配

以下文档提供有关通用 Web 服务连接器的信息。 Microsoft Entra ID Governance 支持将帐户预配到各种应用程序,例如 SAP ECC、Oracle eBusiness Suite 以及公开 REST 或 SOAP API 的业务线应用程序。 以前部署了 MIM 以连接到这些应用程序的客户可以轻松切换到使用轻型 Microsoft Entra 预配代理,同时重用为 MIM 生成的相同 Web 服务连接器。

支持的功能

  • 在应用程序中创建用户。
  • 在用户不再有访问需求的情况下,在应用程序中删除用户。
  • 使用户属性在 Microsoft Entra ID 和你的应用程序之间保持同步。
  • 发现应用程序的架构。

Web 服务连接器实现以下功能:

  • SOAP 发现:允许管理员输入目标 Web 服务公开的 WSDL 路径。 发现将生成应用程序托管 Web 服务的树结构,以及其内部端点或操作以及操作的元数据说明。 可以(分步)完成的发现操作的数量没有限制。 发现的操作稍后用于配置操作流,实现针对数据源的连接器操作(导入/导出)。

  • REST 发现:允许管理员输入 REST 服务详细信息,包括服务终结点、资源路径、方法和参数详细信息。 REST 服务信息将存储在 wsconfig 项目的 discovery.xml 文件中。 管理员稍后将使用它们来配置工作流中的 Rest Web 服务活动。

  • 架构配置:允许管理员配置架构。 架构配置将包含特定应用程序的对象类型和属性的列表。 管理员还可以选择将成为架构一部分的属性。

  • 操作流配置:工作流设计器 UI,用于配置每个对象类型导入和导出操作的实现,方法是通过公开的 Web 服务操作功能,包括从正在配置的用户到 Web 服务功能的参数分配。

预配的先决条件

本地先决条件

运行预配代理的计算机应具有:

  • 与应用程序的 REST 或 SOAP 连接,并且可以出站连接到 login.microsoftonline.com、其他 Microsoft Online ServicesAzure 域。 例如,托管在 Azure IaaS 或代理后面的 Windows Server 2016 虚拟机。
  • 至少 3 GB 的 RAM,用于托管预配代理。
  • .NET Framework 4.7.2
  • Windows Server 2016 或更高版本。

在配置预配之前,请确保:

  • 在应用程序中公开必要的 SOAP 或 REST API,以创建、更新和删除用户。

云要求

  • 使用 Microsoft Entra ID P1 或 Premium P2(或者 EMS E3 或 E5)的 Microsoft Entra 租户。

    使用此功能需要 Microsoft Entra ID P1 许可证。 要根据需要查找合适的许可证,请参阅比较 Microsoft Entra ID 的正式发布功能

  • 用于配置预配代理的混合标识管理员角色以及用于在 Azure 门户配置预配的应用程序管理员或云应用程序管理员角色。

  • 要预配到应用程序的 Microsoft Entra 用户必须已经填充了应用程序所需的任何属性。

安装并配置 Microsoft Entra Connect 预配代理

  1. 登录 Azure 门户。
  2. 请转到“企业应用程序”并选择“新建应用程序”。
  3. 搜索“本地 ECMA 应用”应用程序,为该应用命名,然后选择“创建”以将其添加到租户。
  4. 在菜单中导航到应用程序的“预配”页。
  5. 选择“开始”。
  6. 在“预配”页上,将模式更改为“自动”。

选择自动的屏幕截图。

  1. 在“本地连接”下,选择“下载并安装”,然后选择“接受条款并下载”

  2. 离开门户,运行预配代理安装程序,同意服务条款,然后选择“安装”。

  3. 等待 Microsoft Entra 预配代理配置向导,然后选择“下一步”。

  4. 在“选择扩展”步骤中,选择“本地应用程序预配”,然后选择“下一步”。

  5. 预配代理将使用操作系统的 Web 浏览器显示一个弹出窗口,供你向 Microsoft Entra ID 进行身份验证,还可能向组织的标识提供者进行身份验证。 如果使用 Internet Explorer 作为 Windows Server 上的浏览器,那么可能需要将 Microsoft 网站添加到浏览器的受信任站点列表中,以允许 JavaScript 正常运行。

  6. 当系统提示你授权时,请提供 Microsoft Entra 管理员的凭据。 用户必须至少具有混合标识管理员角色。

  7. 选择“确认”以确认设置。 安装成功后,可以选择“退出”,并关闭“预配代理包”安装程序。

配置本地 ECMA 应用

  1. 在门户中,在“本地连接”部分,选择已部署的代理,然后单击“分配代理”。

    显示如何选择并分配代理的屏幕截图。

  2. 在使用配置向导完成下一步配置时,请保持此浏览器窗口为打开状态。

配置 Microsoft Entra ECMA 连接器主机证书

  1. 在安装了预配代理的 Windows Server 上,右键单击开始菜单中的“Microsoft ECMA2Host 配置向导”,以管理员身份运行。 必须以 Windows 管理员身份运行,向导才能创建必要的 Windows 事件日志。

  2. 在 ECMA 连接器主机配置启动后,如果这是你第一次运行该向导,它将要求你创建证书。 保留默认端口 8585 并选择“生成证书”以生成证书。 自动生成的证书将作为部分受信任根证书进行自签名。 证书 SAN 与主机名匹配。

    显示配置设置的屏幕截图。

  3. 选择“保存”。

创建 Web 服务连接器模板

在创建 Web 服务连接器配置之前,需要创建 Web 服务连接器模板并自定义模板以满足特定环境的需求。 确保 ServiceName、EndpointName 和 OperationName 正确。

可以在连接器下载包中找到有关如何与常用应用程序(如 SAP ECC 7.0 和 Oracle eBusiness Suite)集成的示例模板和指南。 可以使用 SOAP 工作流指南,了解如何在 Web 服务配置工具中为数据源创建新项目。

有关如何配置模板以连接应用程序 REST 或 SOAP API 的详细信息,请参阅 MIM 文档库中的通用 Web 服务连接器概述

配置通用 Web 服务连接器

在本部分中,你将为应用程序创建连接器配置。

将预配代理连接至应用程序

要将 Microsoft Entra 预配代理与应用程序连接,请执行以下步骤:

  1. 将 Web 服务连接器模板 .wsconfig 文件复制到 C:\Program Files\Microsoft ECMA2Host\Service\ECMA 文件夹。

  2. 生成一个机密令牌,用于向连接器验证 Microsoft Entra ID。 它至少应为 12 个字符,并且对于每个应用程序都是唯一的。

  3. 如果还没有这样做,请从 Windows 开始菜单启动“Microsoft ECMA2Host 配置向导”。

  4. 选择“新建连接器”。

    显示选择“新建连接器”的屏幕截图。

  5. 在“属性”页的文本框中填入图片下表格中的数值,选择“下一步”。

    显示输入属性的屏幕截图。

    属性
    名称 为连接器选择的名称,它在环境中的所有连接器中应是唯一的。
    自动同步计时器(分钟) 120
    机密令牌 输入你为此连接器生成的机密令牌。 密钥长度应不少于 12 个字符。
    扩展 DLL 在 Web 服务连接器处,选择 Microsoft.IdentityManagement.MA.WebServices.dll
  6. 在“属性”页,在文本框中填写图片下面表格中的数值,选择“下一步”。

    显示“连接性”页的屏幕截图。

    属性 说明
    Web 服务项目 Web 服务模板名称。
    主机 应用程序 SOAP 端点主机名,例如 vhcalnplci.dummy.nodomain
    端口 应用程序的 SOAP 端点端口,例如 8000
  7. 在“功能”页的文本框中填入下表中指定的数值,然后选择“下一步”。

    属性
    可分辨名称样式 泛型
    导出类型 ObjectReplace
    数据规范化
    对象确认 普通
    启用导入 已选中
    已启用增量导入 未选中
    启用导出 已选中
    启用完整导出 未选中
    在第一个阶段启用导出密码 已选中
    第一个导出阶段没有引用值 未选中
    启用对象重命名 未选中
    删除-添加用作替换 未选中

注意

如果在 Web 服务配置工具中打开 Web 服务连接器模板进行编辑,则会遇到错误。

  1. 全局页上,填写文本框,然后选择下一步

  2. 在“分区”页,选择“下一步”。

  3. 在“运行配置文件”页,保持“导出”复选框为选中状态。 选择“全部导入”复选框,选择“下一步”。 当 ECMA 连接器主机需要将 Microsoft Entra ID 中的更改发送到应用程序时,将使用导出运行配置文件来插入、更新和删除记录。 当 ECMA 连接器主机服务启动时,将使用全部导入运行配置文件来读取应用程序的当前内容。

    属性
    导出 将数据导出到应用程序的运行配置文件。此运行配置文件是必需的。
    完全导入 运行配置文件,用于从应用程序导入所有数据。
    增量导入 运行配置文件,该配置文件将仅导入自上次完整导入或增量导入后应用程序的更改。
  4. 填写“对象类型”页的文本框,选择“下一步”。 按照图像下方的表填写各个文本框。

    • 定位点:此属性的值对于目标系统中的每个对象都应是唯一的。 Microsoft Entra 预配服务将在初始周期后使用此属性查询 ECMA 连接器主机。 在 Web 服务连接器模板中定义此值。

    • DN:在大多数情况下,应选择“自动生成”选项。 如果取消选中此项,请确保将 DN 属性映射到 Microsoft Entra ID 中的属性,按以下格式存储 DN:CN = anchorValue,对象 = objectType。 有关定位点和 DN 的详细信息,请参阅关于定位点属性和可分辨名称

      属性
      “目标对象” 用户
      定位点 userName
      DN userName
      自动生成 已选中
  5. ECMA 连接器主机可发现应用程序支持的属性。 然后可以选择要公开给 Microsoft Entra ID 哪些已发现的属性。 然后,可在 Azure 门户中配置这些属性以进行预配。 在“选择属性”页面上,添加下拉列表中的所有属性,一次添加一个。 属性下拉列表中显示应用程序中发现的、先前选择属性页中选择的任何属性。 添加所有相关属性后,选择“下一步”。

    显示“选择属性”页的屏幕截图。

  6. 在“取消预配”页,“禁用流”下,选择“删除”。 在前一个页中选择的属性将无法在“取消预配”页中进行选择。 选择“完成”。

注意

如果选择设置属性值,请注意仅允许布尔值。

取消预配页上的禁用流下,如果要使用过期时间等属性控制用户帐户状态,请选择无。 如果不想删除应用程序用户,请在删除流下选择无;如果想删除,则选择删除。 选择“完成”。

确保 ECMA2Host 服务正在运行

  1. 在运行 Microsoft Entra ECMA 连接器主机的服务器上,选择“启动”。

  2. 在框中键入“run”,并输入“services.msc”。

  3. 在“服务”列表,确保“Microsoft ECMA2Host”存在且正在运行。 否则,请选择“启动”。

    显示服务正在运行的屏幕截图。

  4. 如果最近启动了该服务,并且应用程序中有许多用户对象,请等待几分钟,让连接器与应用程序建立连接并执行初始完全导入。

在 Azure 门户中配置应用程序连接

  1. 返回到在其中配置应用程序预配的 Web 浏览器窗口。

    注意

    如果窗口已超时,则需要重新选择代理。

    1. 登录到 Azure 门户。
    2. 转到“企业应用程序”和“本地 ECMA 应用”应用程序 。
    3. 选择预配
    4. 选择“开始”,然后将模式更改为“自动”,在“本地连接”部分,选择部署的代理并选择“分配代理”。 否则,请转到“编辑预配”。
  2. 在“管理员凭据”部分中,输入以下 URL。 将 {connectorName} 替换为在 ECMA 连接器主机中指定的连接器的名称。 连接器名称区分大小写,并且应该与向导中配置的大小写相同。 也可以将 localhost 替换为计算机主机名。

    属性 Value
    租户 URL https://localhost:8585/ecma2host_APP1/scim
  3. 输入你在创建连接器时定义的“机密令牌”值。

    注意

    如果你刚刚将代理分配到应用程序,请等待 10 分钟,以便完成注册。 在注册完成之前,连接性测试将无法正常工作。 通过在服务器上重新启动预配代理来强制完成代理注册,可以加快注册过程。 转到你的服务器,在 Windows 搜索栏中搜索“服务”,找到“Microsoft Entra Connect 预配代理服务”,右键单击该服务并重启。

  4. 单击“测试连接性”并等待一分钟。

  5. 连接测试成功并表明提供的凭据有权启用预配后,选择“保存”。

    显示正在测试代理的屏幕截图。

配置属性映射

现在,需要在 Microsoft Entra ID 中的用户表示形式与应用程序中的用户表示形式之间映射属性。

你将使用 Azure 门户配置 Microsoft Entra 用户的属性与你之前在 ECMA 主机配置向导中选择的属性之间的映射。

  1. 确保 Microsoft Entra 架构包含应用程序所需的属性。 如果要求用户具有一个属性,而该属性还不是用户的 Microsoft Entra 架构的一部分,那就需要使用目录扩展功能将该属性添加为扩展。

  2. 在 Microsoft Entra 管理中心的“企业应用程序”下,选择“本地 ECMA 应用”应用程序,然后选择“预配”页面。

  3. 选择“编辑预配”,然后等待 10 秒。

  4. 展开“映射”,然后选择“预配 Microsoft Entra 用户”。 如果这是首次为此应用程序配置属性映射,则仅有一个用于占位符的映射存在。

    显示正在预配用户的屏幕截图。

  5. 要确认应用程序架构在 Microsoft Entra ID 中可用,请选择显示高级选项复选框并选择编辑 ScimOnPremises 的属性列表。 确保列出配置向导中选择的所有属性。 如果没有,请等待几分钟让架构刷新,然后重新加载页面。 看到属性列出后,从此页面取消以返回到映射列表。

  6. 现在,单击“userPrincipalName”占位符映射。 首次配置本地预配时,默认会添加此映射。

占位符的屏幕截图。

更改值以匹配以下项:

映射类型 源属性 目标属性
直接 userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userName
  1. 现在选择“添加新映射”,并为每个映射重复接下来的步骤。

  2. 为应用程序所需的每个属性指定源属性和目标属性。 例如,

    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 始终
  3. 添加所有映射后,选择“保存”。

将用户分配到应用程序

让 Microsoft Entra ECMA 连接器主机与 Microsoft Entra ID 通信并配置属性映射后,接下来即可继续配置预配对象的范围。

重要

如果使用混合标识管理员角色登录,则在本部分,你需要先退出登录,然后再使用至少具有应用程序管理员角色的帐户登录。 混合标识管理员角色无权将用户分配到应用程序。

如果应用程序中存在现有用户,则应为这些现有用户创建应用程序角色分配。 若要详细了解如何批量创建应用程序角色分配,请参阅管理 Microsoft Entra ID 中的应用程序现有用户

否则,如果没有应用程序的当前用户,则从 Microsoft Entra 中选择一个将预配到应用程序的测试用户。

  1. 确保将要选择的用户具有将映射到应用程序所需属性的所有特性。

  2. 在 Microsoft Azure AD 门户中,选择“企业应用程序”。

  3. 选择“本地 ECMA 应用”应用程序。

  4. 在左边的“管理”下,选择“用户和组” 。

  5. 选择“添加用户/组”。

    显示添加用户的屏幕截图。

  6. 在“用户”下,单击“未选择”。

    显示“未选择”界面的屏幕截图。

  7. 在屏幕右侧选择用户,单击“选择”按钮。

    显示“选择用户”的屏幕截图。

  8. 单击“分配”。

    显示“分配用户”的屏幕截图。

Test provisioning

属性已映射完毕并且已分配用户,接下来可通过一个用户测试按需预配。

  1. 在 Microsoft Azure AD 门户中,选择“企业应用程序”。

  2. 选择“本地 ECMA 应用”应用程序。

  3. 在左侧,选择“预配”。

  4. 选择“按需预配”。

  5. 搜索一个测试用户,选择“预配”。

    显示测试预配的屏幕截图。

  6. 几秒钟后,将出现消息“已在目标系统中成功创建用户”,其中包含用户属性列表。

开始预配用户

  1. 按需预配成功后,返回到“预配配置”页。 确保将范围设置为“仅限已分配的用户和组”,将预配状态设置为“开启”,单击“保存”。

    显示开始预配的屏幕截图。

  2. 最多等待 40 分钟,预配服务就会启动。 预配作业完成后,如果已完成测试,可以按照下一部分所述,将预配状态更改为“关”,然后选择“保存”。 此操作将停止预配服务的运行。

排除预配错误

如果显示错误,请选择“查看预配日志”。 在日志中查找状态为“失败”的行,然后选择该行。

有关详细信息,请切换到“故障排除和建议”选项卡。

后续步骤