在使用 Enterprise Integration Pack 的 Azure 逻辑应用中创建并管理用于 B2B 工作流的集成帐户

适用范围:Azure 逻辑应用(消耗型 + 标准型)

在使用 Azure 逻辑应用构建企业到企业 (B2B) 和企业集成工作流之前,需要创建“集成帐户”资源。 此帐户是 Azure 中基于云的可缩放容器,简化了在 B2B 方案工作流中定义和使用的 B2B 项目的存储和管理方式。例如:

此外,还需要一个集成帐户,用来以电子方式与其他组织交换 B2B 消息。 当其他组织使用不同于组织的协议和消息格式时,必须转换这些格式,以便组织系统处理这些消息。 使用 Azure 逻辑应用,可以生成支持以下行业标准协议的工作流:

如果不熟悉如何在 Azure 逻辑应用中创建 B2B 企业集成工作流,请参阅使用 Azure 逻辑应用和 Enterprise Integration Pack 构建的 B2B 企业集成工作流

先决条件

  • Azure 帐户和订阅。 如果没有 Azure 订阅,请注册一个 Azure 帐户。 请确保对集成帐户和逻辑应用资源使用相同的 Azure 订阅。

  • 无论是使用消耗型还是标准型逻辑应用工作流,如果你需要链接集成帐户,则逻辑应用资源必须存在。

    • 对于消耗型逻辑应用资源,必须先建立此链接,然后才能将集成帐户中的项目与工作流一起使用。 虽然可以在未建立此链接的情况下创建项目,但准备使用这些项目时,需要已建立此链接。 要创建示例消耗逻辑应用工作流,请参阅快速入门:在多租户 Azure 逻辑应用中创建示例消耗逻辑应用工作流

    • 对于标准逻辑应用资源,此链接可能是必需或可选的,具体取决于你的方案:

      • 如果你有一个包含你需要或想要使用的项目的集成帐户,请将该集成帐户链接到要使用这些项目的每个标准型逻辑应用资源。

      • 某些 Azure 托管集成帐户连接器不需要链接,可让你创建与集成帐户的连接。 例如,AS2、EDIFACT 和 X12 不需要链接,但 AS2 (v2) 连接器需要链接

      • 使用名为 Liquid 和 Flat File 的内置连接器,可以选择以前上传到逻辑应用资源或链接的集成帐户的映射和架构。

        如果你没有集成帐户,或者你不需要集成帐户,可以使用上传选项。 否则,可以使用链接选项,这也意味着不必将映射和架构上传到每个逻辑应用资源。 采用上述任一方式,都可以在同一逻辑应用资源中跨所有子工作流使用这些项目。

      若要创建示例标准逻辑应用工作流,请参阅在单租户 Azure 逻辑应用中创建示例标准逻辑应用工作流

  • 高级集成帐户支持使用 Azure 虚拟网络中的专用终结点来与同一网络中的其他 Azure 资源进行安全通信。 你的集成帐户、虚拟网络和 Azure 资源也必须存在于同一个 Azure 区域中。 有关详细信息,请参阅创建虚拟网络以及本指南中有关设置高级集成帐户的步骤。

    例如,如果标准逻辑应用和专用终结点位于同一个虚拟网络中,则前者可以访问后者。 但是,消耗逻辑应用不支持虚拟网络集成,因此无法访问专用终结点。

创建集成帐户

可在不同的层中创建集成帐户,定价各不相同。 根据所选的层,创建集成帐户可能会产生费用。 有关详细信息,请参阅 Azure 逻辑应用定价和计费模型Azure 逻辑应用定价

根据要求和方案,确定要创建的相应集成帐户层。 下表描述了可用的层:

集成帐户使用自动创建和启用的系统分配的托管标识对访问权限进行身份验证。

说明
高级 适用于具有以下条件的场景:

- 存储和使用不受限制的项目,例如合作伙伴、协议、架构、映射、证书等。

- 自带存储空间并使用该空间,其中包含特定 B2B 操作和 EDI 标准的相关运行时状态。 例如,这些状态包括 AS2 操作的 MIC 编号以及 X12 操作的控制编号(如果在协议中进行了配置)。

若要访问此存储,集成帐户应使用系统分配的托管标识,系统会为集成帐户自动创建和启用该标识。

还可以对数据应用更多的治理和策略,例如客户管理的(“自带”)密钥,以进行数据加密。 若要存储这些密钥,将需要密钥保管库。

- 设置和使用密钥保管库来存储专用证书或客户管理的密钥。 若要访问这些密钥,高级集成帐户应使用其系统分配的托管标识,而不是 Azure 逻辑应用共享服务主体。

- 设置专用终结点,用于在 Azure 虚拟网络中的高级集成帐户和 Azure 服务之间创建安全连接。

定价请遵循标准集成帐户计费模型

限制和已知问题

- 如果使用密钥保管库来存储专用证书,则集成帐户的托管标识可能无法正常工作。 目前,请改用链接的逻辑应用的托管标识。

- 目前不支持适用于 Azure 逻辑应用的 Azure CLI
标准 适用于 B2B 关系更复杂且需要管理的实体数增加的情况。

受 Azure 逻辑应用 SLA 支持。
基本 适用于只需处理消息或充当与大型企业实体有贸易合作关系的小型企业合作伙伴的情况。

受 Azure 逻辑应用 SLA 支持。

对于本任务,可以使用 Azure 门户、Azure CLIAzure PowerShell

重要

若要将集成帐户成功链接到逻辑应用并将二者配合使用,请确保这两个资源都存在于同一 Azure 订阅和同一 Azure 区域中。

  1. Azure 门户搜索框中,输入“集成帐户”,然后选择“集成帐户”

  2. 在“集成帐户”下,选择“创建”。

  3. 在“创建集成帐户”窗格中,提供以下有关集成帐户的信息:

    属性 需要 说明
    订阅 <Azure-subscription-name> Azure 订阅的名称
    资源组 <Azure-resource-group-name> 用于组织相关资源的 Azure 资源组的名称。 对于本示例,请创建名为“FabrikamIntegration-RG”的新资源组。
    集成帐户名 <integration-account-name> 集成帐户的名称,只能包含字母、数字、连字符 (-)、下划线 (_)、括号(())和句点 (.)。 本示例使用的名称是“Fabrikam-Integration”。
    定价层 <定价级别> 集成帐户的定价层,以后可以更改。 对于本示例,请选择“基本”。 有关详细信息,请查看以下文档:

    - 逻辑应用定价模型
    - 逻辑应用限制和配置
    - 逻辑应用定价
    存储帐户 仅适用于高级集成帐户 现有 Azure 存储帐户的名称。 对于本指南中的示例,此选项不适用。
    区域 <Azure-region> 用于存储集成帐户元数据的 Azure 区域。 请选择逻辑应用资源所在的位置,或者在集成帐户所在的位置创建逻辑应用。 对于本示例,请使用“中国北部”
    启用日志分析 未选定 对于本示例,请不要选择此选项。
  4. 完成操作后,选择“查看 + 创建”。

    部署完成后,Azure 将打开你的集成帐户。

  5. 如果创建了高级集成帐户,请确保设置对关联的 Azure 存储帐户的访问权限。 还可以通过为集成帐户设置专用终结点,在高级集成帐户和 Azure 服务之间创建专用连接。

为高级集成帐户设置存储访问权限

若要读取项目并写入任何状态信息,高级集成帐户需要访问所选和关联的 Azure 存储帐户。 集成帐户使用自动创建和启用的系统分配的托管标识对访问权限进行身份验证。

  1. Azure 门户中,打开高级集成帐户。

  2. 在集成帐户菜单的“设置”下,选择“标识”

  3. 在“系统分配”选项卡(显示已启用的系统分配的托管标识)上,选择“权限”下的“Azure 角色分配”

  4. 在“Azure 角色分配”工具栏上,选择“添加角色分配(预览版)”,提供以下信息,选择“保存”,然后对每个所需角色重复操作

    参数 价值 说明
    范围 存储 有关详细信息,请参阅了解 Azure RBAC 的范围
    订阅 <Azure 订阅> 要访问的资源的 Azure 订阅。
    资源 <Azure-storage-account-name> 要访问的 Azure 存储帐户的名称。

    注意 如果你收到一个错误,指出没有在此范围添加角色分配的权限,则需要获取这些权限。 有关详细信息,请参阅 Microsoft Entra 内置角色
    角色 - 存储帐户参与者

    - 存储 Blob 数据参与者

    - 存储表数据参与者
    高级集成帐户访问存储帐户所需的角色。

    有关详细信息,请参阅将 Azure 角色分配给系统分配的托管标识

为高级集成帐户设置专用终结点

若要在高级集成帐户和 Azure 服务之间创建安全连接,可为集成帐户设置专用终结点。 此终结点是使用 Azure 虚拟网络中的专用 IP 地址的网络接口。 这样,虚拟网络与 Azure 服务之间的流量就会保留在 Azure 主干网络上,而永远不会遍历公共 Internet。 专用终结点通过提供以下优势来确保在资源与 Azure 服务之间建立安全专用的信道:

  • 消除对公共 Internet 的暴露,并降低遭受攻击的风险。

  • 将数据保存在受控且安全的环境中,帮助组织满足数据隐私与合规要求。

  • 将流量保留在 Azure 主干网络中,从而可以减少延迟并提高工作流性能。

  • 无需进行虚拟专用网络或 ExpressRoute 等方面的复杂网络设置。

  • 减少额外的网络基础结构,并避免通过公共终结点传出数据而产生的费用,从而可以节省成本。

专用终结点最佳做法

  • 认真规划虚拟网络和子网体系结构,以适应专用终结点。 确保正确将子网分段并保证其安全。

  • 确保域名系统设置是最新的,并已正确配置为处理专用终结点的名称解析。

  • 使用网络安全组来控制流入和流出专用终结点的流量并实施严格的安全策略。

  • 在部署到生产环境之前,请全面测试集成帐户的连接和性能,以确保所有设置能够按预期配合专用终结点运行。

  • 定期监视传入和传出专用终结点的网络流量。 使用 Azure Monitor 和 Azure 安全中心等工具审核和分析流量模式。

创建专用终结点

在开始之前,请确保已定义好 Azure 虚拟网络,并配置了适当的子网和网络安全组来管理和保护流量。

  1. Azure 门户的搜索框中输入“专用终结点”,然后选择“专用终结点”

  2. 在“专用终结点”页面上,选择“创建”

  3. 在“基本信息”选项卡中提供以下信息:

    属性
    订阅 <Azure-subscription>
    资源组 <Azure-resource-group>
    Name <private-endpoint>
    网络接口名称 <private-endpoint>-nic
    区域 <Azure-region>
  4. 在“资源”选项卡上提供以下信息

    属性 Value
    连接方法 - 连接到我的目录中的 Azure 资源:创建一个自动批准且立即可供使用的专用终结点。 终结点的“连接状态”属性在创建后设置为“已批准”

    - 根据资源 ID 或别名连接到 Azure 资源:创建一个手动批准的专用终结点,并要求在数据管理员批准后才可供任何人使用。 终结点的“连接状态”属性在创建后设置为“挂起”

    注意:如果已手动批准终结点,则“DNS”选项卡不可用
    订阅 <Azure-subscription>
    资源类型 Microsoft.Logic/integrationAccounts
    资源 <Premium-integration-account>
    目标子资源 integrationAccount
  5. 在“虚拟网络”选项卡上,指定要在其中创建终结点的虚拟网络和子网

    属性
    虚拟网络 <virtual-network>
    子网 <subnet-for-endpoint>

    虚拟网络使用附加到专用终结点的网络接口。

  6. 在“DNS”选项卡上提供以下信息,以确保 aps 可以解析集成帐户的专用 IP 地址。 可能需要设置一个专用 DNS 区域并链接到虚拟网络。

    属性
    订阅 <Azure-subscription>
    资源组 <Azure-resource-group-for-private-DNS-zone>
  7. 完成后,请确认提供的所有信息,然后选择“创建”

  8. 确认 Azure 创建了专用终结点后,请检查连接并测试设置,以确保虚拟网络中的资源可以通过专用终结点安全地连接到你的集成帐户。

查看挂起的终结点连接

对于需要批准的专用终结点,请执行以下步骤:

  1. 在 Azure 门户中,转到“专用链接”页面

  2. 在左侧菜单中,选择“挂起的连接”

批准挂起的专用终结点

对于需要批准的专用终结点,请执行以下步骤:

  1. 在 Azure 门户中,转到“专用链接”页面

  2. 在左侧菜单中,选择“挂起的连接”

  3. 选择挂起的连接。 在工具栏上选择“批准”。 等待操作完成。

    终结点的“连接状态”属性将更改为“已批准”

在高级集成帐户中通过专用终结点启用标准逻辑应用调用

  1. 选择以下选项之一:
  1. 若要通过专用终结点进行调用,请在你要调用集成帐户的标准逻辑应用工作流中包含一个“HTTP”操作

  2. 在 Azure 门户中,转到你的高级集成帐户。 在集成帐户菜单中的“设置”下,选择“回调 URL”并复制该 URL

  3. 在工作流的“HTTP”操作中,于“参数”选项卡上的“URI”属性中,使用以下格式输入回调 URL

    https://{domain-name}-{integration-account-ID}.cy.integrationaccounts.microsoftazurelogicapps.net:443/integrationAccounts/{integration-account-ID}?api-version=2015-08-01-preview&sp={sp}&sv={sv}&sig={sig}

    以下示例显示了示例值:

    https://prod-02-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cy.integrationaccounts.microsoftazurelogicapps.net:443/integrationAccounts/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX?api-version=2015-08-01-preview&sp={sp}&sv={sv}&sig={sig}

  4. 对于“HTTP”操作的“方法”属性,请选择“GET”

  5. 根据需要完成“HTTP”操作的设置,并测试工作流

若要将集成帐户成功链接到逻辑应用资源,请确保这两个资源都使用同一 Azure 订阅和同一 Azure 区域。

本部分介绍如何使用 Azure 门户完成此任务。 如果使用 Visual Studio,而逻辑应用位于 Azure 资源组项目中,则你可以使用 Visual Studio 将逻辑应用链接到集成帐户

  1. Azure 门户中,打开你的逻辑应用资源。

  2. 在逻辑应用的导航菜单中的“设置”下,选择“工作流设置”。 在“集成帐户”下,打开“选择集成帐户”列表并选择所需的集成帐户。

    屏幕截图显示了 Azure 门户、包含名为“工作流设置”的打开页的集成帐户菜单,以及名为“选择集成帐户”的已打开列表。

  3. 若要完成链接,请选择“保存”。

    屏幕截图显示了名为“工作流设置”的页面,并显示选择了“保存”选项。

    成功链接集成帐户后,Azure 会显示一条确认消息。

    显示 Azure 确认消息的屏幕截图。

现在,逻辑应用工作流可以使用集成帐户中的项目以及 B2B 连接器,例如 XML 验证和平面文件编码或解码。

更改定价层

若要提高集成帐户的限制,可以升级到更高的定价层(如果适用)。 例如,可以从免费层升级到基本层、标准层或高级层。 还可以降级到更低的层(如果适用)。 有关定价的详细信息,请参阅以下文档:

升级定价层

可以使用 Azure 门户或 Azure CLI 进行更改。

  1. Azure 门户搜索框中,输入“集成帐户”,然后选择“集成帐户”

    Azure 将显示你的 Azure 订阅中的所有集成帐户。

  2. 在“集成帐户”下,选择要移动的集成帐户。 在集成帐户资源菜单中,选择“概述”

    屏幕截图显示了 Azure 门户,其中显示了集成帐户菜单并选中了“概述”选项。

  3. 在“概述”窗格中选择“升级定价层”,随后会列出所有可用的更高层。 选择层时,更改会立即生效。

    屏幕截图显示了集成帐户、“概述”页,并显示已选中“升级定价层”选项。

降级定价层

若要进行此项更改,请使用 Azure CLI

  1. 如果尚未安装 Azure CLI 必备组件,现在请安装。

  2. 在本地计算机上打开 bash shell。

  1. 在命令提示符下输入 az resource 命令,并将 skuName 设置为所需的更低层。

    az resource update --resource-group <resourceGroupName> --resource-type Microsoft.Logic/integrationAccounts --name <integrationAccountName> --subscription <AzureSubscriptionID> --set sku.name=<skuName>
    

    例如,如果目前使用的是“标准”层,可将 skuName 设置为 Basic

    az resource update --resource-group FabrikamIntegration-RG --resource-type Microsoft.Logic/integrationAccounts --name Fabrikam-Integration --subscription XXXXXXXXXXXXXXXXX --set sku.name=Basic
    
  1. Azure 门户中,打开你的标准逻辑应用资源。

  2. 在逻辑应用菜单中,在“设置”下选择“环境变量”

  3. 在“环境变量”页上,找到名为“WORKFLOW_INTEGRATION_ACCOUNT_CALLBACK_URL”的应用设置

  4. 清除应用设置名称及其值。

  5. 完成后,选择“应用”。

Visual Studio Code

  1. 在 Visual Studio Code 的标准逻辑应用项目中,打开 local.settings.json 文件。

  2. Values 对象中,查找并删除具有以下属性和值的应用设置:

    属性
    名称 WORKFLOW_INTEGRATION_ACCOUNT_CALLBACK_URL
    <integration-account-callback-URL>
  3. 完成后,保存所做的更改。


移动集成帐户

可将集成帐户移到另一个 Azure 资源组或 Azure 订阅。 移动资源时,Azure 会创建新的资源 ID,因此请确保改用新 ID,并更新与所移动的资源关联的任何脚本或工具。 若要更改订阅,还必须指定现有或新的资源组。

对于此任务,可以使用 Azure 门户并执行本部分中所述的步骤,或使用 Azure CLI

  1. Azure 门户搜索框中,输入“集成帐户”,然后选择“集成帐户”

    Azure 将显示你的 Azure 订阅中的所有集成帐户。

  2. 在“集成帐户”下,选择要移动的集成帐户。 在集成帐户菜单中选择“概述”。

  3. 在“概述”窗格的“资源组”或“订阅名称”旁,选择“更改”

    屏幕截图显示了 Azure 门户、集成帐户、“概述”页和所选更改选项,该选项位于资源组或订阅名称旁边。

  4. 选择还要移动的任何相关资源。

  5. 根据所做的选择,执行以下步骤来更改资源组或订阅:

    • 资源组:在“资源组”列表中选择目标资源组。 若要创建不同的资源组,请选择“创建新的资源组”。

    • 订阅:在“订阅”列表中选择目标订阅。 在“资源组”列表中选择目标资源组。 若要创建不同的资源组,请选择“创建新的资源组”。

  6. 为了确认你已知道在使用新资源 ID 更新与所要移动的资源关联的任何脚本或工具之前,这些脚本或工具不会正常运行,请选中确认框,然后选择“确定”。

  7. 完成后,请确保使用已移动的资源的新资源 ID 更新所有脚本。

删除集成帐户

对于此任务,可以使用 Azure 门户并执行本部分中所述的步骤,也可以使用 Azure CLIAzure PowerShell

  1. Azure 门户搜索框中,输入“集成帐户”,然后选择“集成帐户”

    Azure 将显示你的 Azure 订阅中的所有集成帐户。

  2. 在“集成帐户”下,选择要删除的集成帐户。 在集成帐户菜单中选择“概述”。

    屏幕截图显示了 Azure 门户,其中包含集成帐户列表和已选中“概述”的集成帐户菜单。

  3. 在“概览” 页上,选择“删除” 。

    屏幕截图显示了“概述”页,并显示已选中“删除”。

  4. 若要确认删除集成帐户,请选择“是”。

    屏幕截显示了确认框,并显示已选择“是”。

后续步骤