你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用托管标识进行跨租户传递

本文提供有关事件传递的信息,其中 Azure 事件网格基本资源(如主题、域、系统主题和合作伙伴主题)位于一个租户中,Azure 目标资源位于另一个租户中。

以下部分演示了如何实现一个示例方案,其中 Azure 事件网格主题使用用户分配的标识作为联合凭据将事件传递到另一个租户中托管的 Azure 存储队列目标。 下面是概要步骤:

  1. 在租户 A 中创建具有用户分配的托管标识的 Azure 事件网格主题。
  2. 使用联合客户端凭据创建多租户应用。
  3. 在租户 B 中创建 Azure 存储队列目标。
  4. 创建主题的事件订阅时,启用跨租户传递并配置终结点。

注意

  • 此功能目前处于预览状态。
  • 跨租户传递目前可用于以下终结点:服务总线主题和队列、事件中心和存储队列。

使用用户分配的标识创建主题(租户 A)

按照管理用户分配的托管标识一文中的说明,创建用户分配的标识。 然后,使用以下过程中的步骤在创建主题或更新现有主题时启用用户分配的托管标识。

为新主题启用用户分配的标识

  1. 在主题或域创建向导的“安全性”页上,选择“添加用户分配的标识”。

  2. 在“选择用户分配的标识”窗口中,选择具有用户分配的标识的订阅,选择“用户分配的标识”,然后选择“选择”。

    显示选中了“启用用户分配的标识”选项的屏幕截图。

为现有主题启用用户分配的标识

  1. 在“标识”页上,切换到右侧窗格中的“用户分配”选项卡,然后选择工具栏上的“+ 添加”。

    显示“用户分配的标识”选项卡的屏幕截图。

  2. 在“添加用户托管标识”窗口中,执行以下步骤:

    1. 选择包含用户分配标识的 Azure 订阅。
    2. 选择用户分配的标识。
    3. 选择 添加
  3. 刷新“用户分配”选项卡中的列表以查看刚刚添加的用户分配标识。

有关详细信息,请参阅以下文章:

创建多租户应用程序

  1. 创建 Microsoft Entra 应用,并将注册更新为多租户。 有关详细信息,请参阅启用多租户注册

    显示设置为多租户的 Microsoft Entra 应用身份验证设置的屏幕截图。

  2. 使用图形 API 在多租户应用与事件网格主题的用户分配标识之间创建联合标识凭据关系。

    显示用于在多租户应用和用户分配的标识之间启用联合标识凭据关系的示例 POST 方法的屏幕截图。

    • 在 URL 中,使用多租户应用对象 ID。
    • 对于“名称”,为联合客户端凭据提供一个独一无二的名称
    • 对于“颁发者”,使用 https://login.microsoftonline.com/TENANTID/v2.0,其中 TENANTID 是用户分配的标识所在的租户的 ID。
    • 对于“主体”,指定用户分配的标识的客户端 ID。

    验证并等待 API 调用成功。

  3. API 调用成功后,继续验证联合客户端凭据是否已在多租户应用上正确设置。

    显示多租户应用的“证书和密码”页的屏幕截图。

    注意

    主体标识符是主题上用户分配的标识的客户端 ID。

创建目标存储帐户(租户 B)

在与具有源事件网格主题和用户分配的标识的租户不同的租户中创建存储帐户。 稍后使用存储帐户(位于租户 B 中)创建主题的事件订阅(位于租户 A 中)。

  1. 按照创建存储帐户一文中的说明创建存储帐户。

  2. 使用“访问控制(标识和访问管理)”页,将多租户应用添加到适当的角色,以便应用可以将事件发送到存储帐户。 例如:存储帐户参与者、存储队列数据参与者、存储队列数据消息发送方。 有关说明,请参阅为 Azure 队列分配 Azure 角色

    显示存储帐户的“访问控制(标识和访问管理)”页的屏幕截图。

启用跨租户传递并配置终结点

使用传递给目标存储帐户的联合客户端凭据信息在主题上创建事件订阅。

  1. 创建事件订阅时,启用“跨租户传递”并选择“配置终结点”。

    显示启用了“跨租户传递”选项的“创建事件订阅”页的屏幕截图。

  2. 在“终结点”页上,指定租户 B 中的订阅 ID、资源组、存储帐户名称和队列名称。

    显示“终结点”页的屏幕截图。

  3. 现在,在“用于传递的托管标识”部分中,执行以下操作:

    1. 对于“托管标识类型”,选择“用户分配”

    2. 从下拉列表中选择“用户分配的标识”。

    3. 对于“联合标识凭据”,输入多租户应用程序 ID。

      显示指定了托管标识的“创建事件订阅”页的屏幕截图。

  4. 选择该页底部的“创建”以创建事件订阅。

    现在,将事件发布到主题并验证事件是否已成功传递到目标存储帐户。