创建和配置自承载集成运行时

集成运行时 (IR) 是一种计算基础结构,由 Microsoft Purview 用于跨不同网络环境进行数据扫描。

自承载集成运行时 (SHIR) 可用于扫描本地网络或虚拟网络中的数据源。 安装自承载集成运行时需要在专用网络中提供一台本地计算机或虚拟机。

本文介绍自承载集成运行时的设置以及故障排除和管理。

重要

从以下位置下载自承载集成运行时:Microsoft Integration Runtime

主题 部分
设置新的自承载集成运行时 计算机需求
每篇源文章中的先决条件下列出了特定于源的计算机要求
设置指南
网络 网络要求
代理服务器
专用终结点
排查代理和防火墙问题
排查连接问题
管理 常规

注意

Microsoft Purview 集成运行时不能与同一台计算机上的 Azure Synapse Analytics 或 Azure 数据工厂集成运行时共享。 它需要安装在单独的计算机上。

先决条件

  • 支持的 Windows 版本为:

    • Windows 8.1
    • Windows 10
    • Windows 11
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows Server 2019
    • Windows Server 2022
  • 不支持在域控制器上安装自承载集成运行时。

  • SHIR 计算机当前不支持 FIPS 模式。

重要

扫描某些数据源需要在自承载集成运行时计算机上进行其他设置。 例如,JDK、Visual C++ Redistributable 或特定驱动程序。 对于源,请参阅每篇源文章来了解先决条件详细信息。任何要求将在“先决条件”部分列出。

  • 若要在 Microsoft Purview 中添加和管理 SHIR,需要在 Microsoft Purview 中拥有数据源管理员权限

  • 自承载集成运行时需要带有 .NET Framework 4.7.2 或更高版本的 64 位操作系统。 有关详细信息,请参阅 .NET Framework 系统需求

  • 对于自承载集成运行时计算机,建议的最低配置为 8 核 2 GHz 处理器,28 GB RAM,80 GB 可用硬盘空间。 扫描某些数据源可能需要更高的计算机规格,具体取决于你的方案。 另请查看相应的连接器文章中的先决条件。

  • 如果主机计算机进入休眠状态,则自承载集成运行时不会响应数据请求。 安装自承载集成运行时之前,请在计算机上配置相应的电源计划。 如果计算机配置为休眠,则自承载集成运行时安装程序会通过消息发出提示。

  • 只有计算机管理员才能成功安装和配置自承载集成运行时。

  • 扫描运行按照你设置的计划的特定频率发生。 计算机上的处理器和 RAM 使用率遵循相同的高峰期和空闲期模式。 此外,资源使用率在很大程度上取决于扫描的数据量。 进行多个扫描作业时,会看到资源使用率在高峰期上升。

重要

如果要使用自承载集成运行时扫描 Parquet 文件,则需要在 IR 计算机上安装 64 位 JRE 8 (Java Runtime Environment) 或 OpenJDK。 请查看页面底部的 Java Runtime Environment 部分,以获取安装指南。

使用自承载 IR 的注意事项

  • 可以使用单个自承载集成运行时扫描多个数据源。
  • 在一台计算机上只能安装一个自承载集成运行时实例。 如果有两个 Microsoft Purview 帐户需要扫描本地数据源,请在两台计算机上安装自承载 IR,每个计算机对应一个 Azure 权限帐户。
  • 自承载集成运行时不需要与数据源位于同一台计算机上,除非在相应的源文章中作为先决条件特别调用。 但是,使自承载集成运行时更接近于数据源会减少自承载集成运行时连接到数据源的时间。

设置自承载集成运行时

若要创建和设置自承载集成运行时,请使用以下过程。

创建自承载 Integration Runtime

注意

若要在 Microsoft Purview 中添加或管理 SHIR,需要在 Microsoft Purview 中拥有数据源管理员权限

  1. Microsoft Purview 治理门户的“主页”上,从左侧导航窗格中选择“数据映射”。

  2. 在左侧窗格中的 " 源和扫描 " 下,选择 " 集成运行时",然后选择 " + 新建"。

    Select on IR.

  3. 集成运行时设置页面,选择 “自承载”以创建自承载 IR,然后选择“继续”

    Create new SHIR.

  4. 输入 IR 的名称,然后选择“创建”。

  5. 在 " 集成运行时设置 " 页上,按照 " 手动设置 " 部分中的步骤进行操作。 将必须从下载站点将集成运行时下载到要运行它的 VM 或计算机上。

    get key

    • 复制并粘贴身份验证密钥。

    • Microsoft Integration Runtime 将自承载集成运行时下载到本地 Windows 计算机上。 运行安装程序。 支持自承载集成运行时版本(例如,5.4.7803.1 和 5.6.7795.1)。

    • “注册集成运行时(自承载)” 页上粘贴前面保存的两个密钥的其中一个密钥,然后选择 “注册”

      input key.

    • 在“新建 Integration Runtime (自承载)节点”页上,选择“完成”。

  6. 成功注册自承载集成运行时后,会看到以下窗口:

    successfully registered.

可以使用相同的密钥为自承载集成运行时注册多个节点。 有关详细信息,请参阅高可用性和可伸缩性

管理自承载的集成运行时

可以通过在 Microsoft Purview 治理门户中导航到“集成运行时”,将鼠标悬停在 IR 上,然后选择“编辑”按钮,来编辑自承载集成运行时。

  • 在“设置”选项卡中,可以更新说明、复制密钥或重新生成新密钥。
  • 在“节点”选项卡中,可以看到已注册节点的列表,以及状态、IP 地址和节点删除选项。 有关详细信息,请参阅高可用性和可伸缩性
  • 在“版本”选项卡中,可以查看 IR 版本状态。 从自承载集成运行时自动更新和过期通知了解详细信息。

edit IR details.

可以通过导航到“集成运行时”,将鼠标悬停在 IR 上,然后选择“删除”按钮,来删除自承载集成运行时。

通知区域图标和通知

如果将光标移到通知区域中的图标或消息上,可以查看自承载集成运行时状态的详细信息。

Notifications in the notification area

自承载集成运行时的服务帐户

自承载集成运行时的默认登录服务帐户为 NT SERVICE\DIAHostService。 你可以在“服务”->“集成运行时服务”->“属性”->“登录”上查看它。

Service account for self-hosted integration runtime

确保该帐户具有作为服务登录的权限。 否则,自承载集成运行时无法成功启动。 你可以在“本地安全策略”-“安全设置”->“本地策略”->“用户权限分配”->“作为服务登录”中检查权限

Screenshot of Local Security Policy - User Rights Assignment

Screenshot of Log on as a service user rights assignment

高可用性和可伸缩性

可将一个自承载集成运行时关联到 Azure 中的多个本地计算机或虚拟机。 这些计算机称为节点。 最多可将 4 个节点与一个自承载集成运行时相关联。 关联多个节点的好处如下:

  • 提高自承载集成运行时的可用性,使它不再成为扫描时的单一故障点。 这种可用性有助于确保使用最多 4 个节点来实现连续性。
  • 运行更多并发扫描。 每个自承载集成运行时可以同时为多个扫描提供支持,扫描数量是根据计算机的 CPU/内存自动确定的。 如果你的并发需求更高,可以安装更多节点。 每个扫描将在一个节点上执行。 关联更多节点不能提高单个扫描执行的性能。

可以通过从下载中心安装自承载集成运行时来关联多个节点。 然后,使用相同的身份验证密钥注册该软件。

注意

在添加另一个用于实现高可用性和可伸缩性的节点之前,请确保已在第一个节点上启用了“远程访问 Intranet”选项。 为此,请选择“Microsoft Integration Runtime Configuration Manager”>“设置”>“远程访问 Intranet”。

网络要求

自承载集成运行时计算机需要连接到多个资源才能正常工作:

  • 用于管理自承载集成运行时的 Microsoft Purview 服务。
  • 希望使用自承载集成运行时扫描的数据源。
  • 如果帐户创建于 2023 年 12 月 15 日之前,则集成运行时必须能连接到由 Microsoft Purview 创建的托管存储帐户。 如果帐户在此日期之后创建(或使用 2023-05-01-preview 之后的 API 版本部署),则会使用引入存储帐户。 Microsoft Purview 使用此资源来引入扫描结果等许多内容。

需要考虑两个防火墙:

  • 在组织的中央路由器上运行的企业防火墙。
  • 在安装自承载集成运行时的本地计算机上作为守护程序配置的 Windows 防火墙

以下是你需要在企业和 Windows/计算机防火墙上允许的域和出站端口。

提示

  • 对于列出带有“managed_storage_account”的域,请添加与 Microsoft Purview 帐户关联的托管资源的名称。<> 可以从 Azure 门户 -> 你的 Microsoft Purview 帐户 ->“托管资源”选项卡中找到。
  • 如果帐户没有托管存储帐户,则使用引入存储。 可以从 Azure 门户 ->“属性”->“引入存储 ID”中找到存储信息。 若要查看终结点详细信息,请转到“概述”->“JSON 视图”->“primaryEndpoint”属性。
域名 出站端口 说明
*.frontend.clouddatahub.net 443 连接到 Microsoft Purview 服务时需要。 目前需要通配符,因为没有专用资源。
*.servicebus.chinacloudapi.cn 443 在 Microsoft Purview 治理门户中设置扫描时需要。 此终结点用于从 UI 进行交互式创作,例如,测试连接,浏览文件夹列表和表列表来限定扫描范围。 若要避免使用通配符,请参阅获取 Azure 中继的 URL
<purview_account>.purview.azure.cn 443 连接到 Microsoft Purview 服务时需要。 如果使用 Purview 专用终结点,则此终结点包含在帐户专用终结点中。
<managed_storage_account>.blob.core.chinacloudapi.cn 443 连接到 Microsoft Purview 托管 Azure Blob 存储帐户时需要。 如果使用 Purview 专用终结点,则此终结点包含在引入专用终结点中。
<managed_storage_account>.queue.core.chinacloudapi.cn 443 连接到 Microsoft Purview 托管 Azure 队列存储帐户时需要。 如果使用 Purview 专用终结点,则此终结点包含在引入专用终结点中。
download.microsoft.com 443 下载自承载集成运行时更新时需要。 如果已禁用自动更新,则可以跳过对此域的配置。
login.chinacloudapi.cn
login.partner.microsoftonline.cn
443 需要登录到 Microsoft Entra ID。

注意

由于 Azure 中继当前不支持服务标记,因此,若要与 Azure 中继进行通信,你必须在 NSG 规则中使用服务标记 AzureCloud 或 Internet。

根据要扫描的源,还需要准许适合其他 Azure 或外部源的其他域和出站端口。 下面提供了一些示例:

域名 出站端口 说明
<your_storage_account>.dfs.core.chinacloudapi.cn 443 扫描 Azure Data Lake Store Gen 2 时。
<your_storage_account>.blob.core.chinacloudapi.cn 443 扫描 Azure Blob 存储时。
<your_sql_server>.database.chinacloudapi.cn 1433 扫描 Azure SQL 数据库时。
*.powerbi.com*.analysis.chinacloudapi.cn 443 扫描 Power BI 租户时。
<your_ADLS_account>.azuredatalakestore.net 443 扫描 Azure Data Lake Store Gen 1 时。
各种域 依赖项 SHIR 将扫描的任何其他源的域和端口。

对于某些云数据存储(例如 Azure SQL 数据库和 Azure 存储),可能需要在其防火墙配置上允许自承载集成运行时计算机的 IP 地址,或者可以在自承载集成运行时的网络中创建服务的专用终结点。

重要

在大多数环境中,还需要确保 DNS 的配置是否正确。 若要确认,可以使用 SHIR 计算机中的 nslookup 检查与每个域的连接。 每个 nslookup 应返回资源的 IP。 如果使用的是专用终结点,应返回专用 IP,而不是公共 IP。 如果未返回 IP,或者在使用专用终结点时返回了公共 IP,则需要解决 DNS/VNet 关联或专用终结点/VNet 对等互连。

获取 Azure 中继的 URL

需要放在防火墙允许列表中的一个必需域和端口用于与 Azure 中继进行通信。 自承载集成运行时将其用于交互式创作,例如测试连接和浏览文件夹/表列表。 如果你不想允许 .servicebus.chinacloudapi.cn,而是希望获得更具体的 URL,那么你可以查看自承载集成运行时所需的所有 FQDN。 执行以下步骤:

  1. 转到 Microsoft Purview 治理门户 ->“数据映射”->“集成运行时”,然后编辑你的自承载集成运行时。

  2. 在“编辑”页中选择“节点”选项卡。

  3. 选择“查看服务 URL”以获取所有 FQDN。

    Screenshot that shows how to get Azure Relay URLs for an integration runtime.

  4. 可以在防火墙规则的允许列表中添加这些 FQDN。

注意

有关 Azure 中继连接协议的详细信息,请参阅 Azure 中继混合连接协议

代理服务器注意事项

如果企业网络环境使用代理服务器访问 Internet,请配置自承载集成运行时以使用合适的代理设置。 可以在初始注册阶段或注册后设置代理。

Specify the proxy

配置后,自承载集成运行时使用代理服务器连接到使用 HTTP 或 HTTPS 协议的服务。 因此,请在初始设置期间选择“更改链接”。

Set the proxy

Microsoft Purview 支持两个配置选项:

  • 不使用代理:自承载集成运行时不显式使用任何代理来连接到云服务。
  • 使用系统代理:自承载集成运行时使用在可执行文件的配置文件中配置的代理设置。 如果这些文件中未指定代理,则自承载集成运行时将直接连接到服务,而无需通过代理。
  • 使用自定义代理:配置用于自承载集成运行时的 HTTP 代理设置,而不使用 diahost.exe.config 和 diawp.exe.config 中的配置。“地址”和“端口”值是必需的。 “用户名”和“密码”值是可选的,具体取决于代理的身份验证设置。 所有设置都使用 Windows DPAPI 在自承载集成运行时进行加密,并存储在本地计算机上。

注意

Azure 数据源和 Power BI 以外的连接器不支持通过代理连接到数据源。

保存更新的代理设置之后,集成运行时主机服务会自动重启。

成功注册自承载集成运行时后,如果想要查看或更新代理设置,请使用 Microsoft Integration Runtime Configuration Manager。

  1. 打开“Microsoft Integration Runtime Configuration Manager”。
  2. 选择“设置”选项卡。
  3. 在“HTTP 代理”下,选择“更改”链接打开“设置 HTTP 代理”对话框。
  4. 选择“下一步”。 此时会出现警告,询问是否允许保存代理设置和重启集成运行时主机服务。

注意

如果使用 NTLM 身份验证设置代理服务器,集成运行时主机服务会在域帐户下运行。 如果之后更改域帐户密码,请记得更新服务的配置设置并重启服务。 鉴于此项要求,我们建议使用专用域帐户来访问代理服务器,这样就无需经常更新密码。

如果使用系统代理,请确保你的代理服务器允许符合网络规则的出站流量。

配置代理服务器设置

如果为 HTTP 代理选择“使用系统代理”选项,则自承载集成运行时将使用路径 C:\Program Files\Microsoft Integration Runtime\5.0\ 下的以下四个文件中的代理设置来执行不同的操作:

  • .\Shared\diahost.exe.config
  • .\Shared\diawp.exe.config
  • .\Gateway\DataScan\Microsoft.DataMap.Agent.exe.config
  • .\Gateway\DataScan\DataTransfer\Microsoft.DataMap.Agent.Connectors.Azure.DataFactory.ServiceHost.exe.config

如果这些文件中未指定代理,则自承载集成运行时将直接连接到服务,而无需通过代理。

以下过程说明如何更新 diahost.exe.config 文件。

  1. 在文件资源管理器中,生成 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config 的安全副本作为原始文件的备份。

  2. 以管理员身份打开记事本。

  3. 在记事本中,打开文本文件 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config。

  4. 找到默认的 system.net 标记,如以下代码中所示:

    <system.net>
        <defaultProxy useDefaultCredentials="true" />
    </system.net>
    

    然后可以添加代理服务器的详细信息,如以下示例所示:

    <system.net>
      <defaultProxy>
        <proxy bypassonlocal="true" proxyaddress="<your proxy server e.g. http://proxy.domain.org:8888/>" />
      </defaultProxy>
    </system.net>
    

    允许在代理标记中使用其他属性,以指定所需的设置(如 scriptLocation)。 有关语法,请参阅 <proxy> 元素(网络设置)

    <proxy autoDetect="true|false|unspecified" bypassonlocal="true|false|unspecified" proxyaddress="uriString" scriptLocation="uriString" usesystemdefault="true|false|unspecified "/>
    
  5. 将配置文件保存到其原始位置。

重复相同的过程以更新 diawp.exe.config 和 Microsoft.DataMap.Agent.exe.config 文件。

然后进入路径 C:\Program Files\Microsoft Integration Runtime\5.0\Gateway\DataScan\DataTransfer,创建一个名为“Microsoft.DataMap.Agent.Connectors.Azure.DataFactory.ServiceHost.exe.config”的文件,并按如下方式配置代理设置。 你还可以如上所述扩展设置。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.net>
    <defaultProxy>
      <proxy bypassonlocal="true" proxyaddress="<your proxy server e.g. http://proxy.domain.org:8888/>" />
    </defaultProxy>
  </system.net>
</configuration>

必须从代理中排除本地流量,例如,如果 Microsoft Purview 帐户位于专用终结点后面。 在这种情况下,请使用所需的绕过列表更新路径下的以下四个文件,以包含绕过列表 C:\Program Files\Microsoft Integration Runtime\5.0\:

  • .\Shared\diahost.exe.config
  • .\Shared\diawp.exe.config
  • .\Gateway\DataScan\Microsoft.DataMap.Agent.exe.config
  • .\Gateway\DataScan\DataTransfer\Microsoft.DataMap.Agent.Connectors.Azure.DataFactory.ServiceHost.exe.config

用于扫描 Azure SQL 数据库和 ADLS 第 2 代存储的绕过列表的示例:

 <system.net>
   <defaultProxy>
     <bypasslist>
       <add address="scanchinanorth4123.blob.core.chinacloudapi.cn" />
       <add address="scanchinanorth4123.queue.core.chinacloudapi.cn" />
       <add address="Atlas-abc12345-1234-abcd-a73c-394243a566fa.servicebus.chinacloudapi.cn" />
       <add address="contosopurview123.purview.azure.cn" />
       <add address="contososqlsrv123.database.chinacloudapi.cn" />
       <add address="contosoadls123.dfs.core.chinacloudapi.cn" />
       <add address="contosoakv123.vault.azure.cn" />
     </bypasslist>
     <proxy proxyaddress=http://proxy.domain.org:8888 bypassonlocal="True" />
   </defaultProxy>
 </system.net>

重启自承载集成运行时主机服务,以拾取更改。 若要重启服务,请从控制面板使用“服务”小程序。 或在“Integration Runtime Configuration Manager”中依次选择“停止服务”按钮和“启动服务”。 如果服务未启动,原因可能是将错误的 XML 标记语法添加到了编辑的应用程序配置文件中。

重要

不要忘记更新上面提到的所有四个文件。

还需要确保已将 Azure 添加到你公司的允许列表中。 可以下载有效的 Azure IP 地址列表。 MS 下载中现已提供每个云的 IP 范围(按区域以及该云中的标记服务细分):

如果出现如下所示的错误消息,原因可能是防火墙或代理服务器的配置不当。 此类配置会阻止自承载集成运行时连接到 Microsoft Purview 服务。 若要确保正确配置防火墙和代理服务器,请参阅上一部分。

  • 尝试注册自承载集成运行时时收到以下错误消息:“无法注册此 Integration Runtime 节点! 请确认身份验证密钥有效,且集成服务主机服务在此计算机上运行。”

  • 打开 Integration Runtime Configuration Manager 时,将看到状态为“已断开连接”或“正在连接”。 查看 Windows 事件日志时,在“事件查看器”“应用程序和服务日志”“Microsoft Integration Runtime”下看到如下所示的错误消息:

    Unable to connect to the remote server
    A component of Integration Runtime has become unresponsive and restarts automatically. Component name: Integration Runtime (Self-hosted)
    

Java Runtime Environment 安装

如果要使用带 Microsoft Purview 的自承载集成运行时扫描 Parquet 文件,则需要在自承载 IR 计算机上安装 Java Runtime Environment 或 OpenJDK。

使用自承载 IR 扫描 Parquet 文件时,该服务将通过首先检查 JRE 的注册表 (HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) 来查找 Java 运行时,如果未找到,则会检查系统变量 JAVA_HOME 来查找 OpenJDK。 可以在计算机上的“系统设置”、“环境变量”下设置 JAVA_HOME。 创建或编辑 JAVA_HOME 变量以指向计算机上的 Java jre。 例如: C:\Program Files\Java\jdk1.8\jre

  • 若要使用 JRE:64 位 IR 需要 64 位 JRE。 可在此处找到它。
  • 若要使用 OpenJDK:从 IR 版本 3.13 开始受支持。 将 jvm.dll 以及所有其他必需的 OpenJDK 程序集打包到自承载 IR 计算机中,并相应地设置系统环境变量 JAVA_HOME。

后续步骤