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

创建与 Azure 数字孪生配合使用的应用注册

本文介绍如何创建可访问 Azure 数字孪生的 Microsoft Entra ID应用注册 。 本文包括 Azure 门户Azure CLI 中的步骤。

使用 Azure 数字孪生时,往往会通过客户端应用程序来与该实例进行交互。 这些应用程序需要在 Azure 数字孪生中完成身份验证,而应用可以使用的某些身份验证机制涉及到应用注册。

并非所有身份验证方案都需要应用注册。 但是,如果使用的身份验证策略或代码示例确实需要应用注册,本文将演示如何设置应用注册并授予它对 Azure 数字孪生 API 的权限。 本文还介绍了如何收集在进行身份验证时使用应用注册所需的重要值。

提示

你可能希望在每次需要应用注册时才设置新的应用注册,或者,你可能希望仅设置应用注册一次,建立单个应用注册以在需要该应用注册的所有方案之间共享它。

创建注册

首先在下面选择适用于首选界面的选项卡。

导航到Azure 门户中的 Microsoft Entra ID(可以使用此链接或通过门户搜索栏查找它)。 从服务菜单中选择“应用注册”,然后选择“+ 新建注册”。

Screenshot of the Microsoft Entra service page in the Azure portal, showing the steps to create a new registration in the 'App registrations' page.

在随后出现的“注册应用程序”页中填写请求的值:

  • 名称:要与注册关联的 Microsoft Entra 应用程序显示名称
  • 支持的帐户类型:选择“仅此组织目录中的帐户(仅默认目录 - 单租户)”
  • 重定向 URIMicrosoft Entra 应用程序的 Microsoft Entra 应用程序回复 URL 。 为 http://localhost 添加一个“公共客户端/本机(移动和桌面)”URI。

完成后,选择“注册”按钮

Screenshot of the 'Register an application' page in the Azure portal with the described values filled in.

设置完注册后,门户会将你重定向到该注册的详细信息页。

收集重要值

接下来,收集有关应用注册的一些重要值,在使用应用注册对客户端应用程序进行身份验证时,你将需要使用这些值。 这些值包括:

  • 资源名称 - 使用 Azure 数字孪生时,资源名称为 http://digitaltwins.azure.net
  • 客户端 ID
  • 租户 ID
  • 客户端密码

以下部分介绍如何查找其余的值。

收集客户端 ID 和租户 ID

若要使用应用注册进行身份验证,可能需要提供其应用程序(客户端)ID 和目录(租户)ID。 在此处你将收集这些值,以便可以将其保存并根据需要随时使用它们。

可以从 Azure 门户中应用注册的详细信息页收集“客户端 ID”和“租户 ID”值:

Screenshot of the Azure portal showing the important values for the app registration.

记下你的页面上显示的“应用程序(客户端) ID”和“目录(租户) ID”

收集客户端密码

为应用注册设置客户端密码,其他应用程序可以使用它进行身份验证。

从 Azure 门户中的应用注册页开始。

  1. 从注册菜单中选择“证书和机密”,然后选择“+ 新建客户端密码”。

    Screenshot of the Azure portal showing a Microsoft Entra app registration and a highlight around 'New client secret'.

  2. 输入要用于“说明”和“有效期”的任何值,然后选择“添加”

    Screenshot of the Azure portal while adding a client secret.

  3. 验证客户端密码在“证书和密码”页上显示出来,并带有“有效期”和“值”字段

  4. 记下其“密码 ID”和“值”的值以便稍后使用(也可使用“复制”图标将其复制到剪贴板)

    Screenshot of the Azure portal showing how to copy the client secret value.

重要

请确保现在复制值并将其存储在安全的位置,因为无法再次检索这些值。 如果以后找不到这些值,则必须创建新的密码。

提供 Azure 数字孪生权限

接下来,为已创建的应用注册配置对 Azure 数字孪生的访问权限。 有两种类型的权限是必需的:

  • Azure 数字孪生实例中应用注册的角色分配
  • 应用在读取和写入 Azure 数字孪生 API 时所需的 API 权限

创建角色分配

在本部分中,你将在 Azure 数字孪生实例中为应用注册创建角色分配。 此角色将确定应用注册对实例拥有哪些权限,因此,你应根据你的情况选择与适当的权限级别相匹配的角色。 一个可能的角色是 Azure 数字孪生数据所有者。 有关角色及其说明的完整列表,请参阅 Azure 内置角色

使用这些步骤为注册创建角色分配。

  1. 在 Azure 门户中打开 Azure 数字孪生实例的页面。

  2. 选择“访问控制 (IAM)”。

  3. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面 。

  4. 分配适当的角色。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    设置
    角色 按需选择
    成员 > 分配访问权限 用户、组或服务主体
    成员成员> + 选择成员,然后搜索应用注册的名称或客户端 ID

    Screenshot of the Roles tab in the Add role assignment page.

    Screenshot of the Members tab in the Add role assignment page.

    选择角色后, 查看 + 分配 该角色。

验证角色分配

可以在“访问控制 (IAM) > 角色分配”下查看已设置的角色分配。

Screenshot of the Role Assignments page for an Azure Digital Twins instance in the Azure portal.

应用注册应与你分配给它的角色一起显示在列表中。

提供 API 权限

在本部分,你将向应用授予对 Azure 数字孪生 API 的基准读取/写入权限。

如果使用的是 Azure CLI,并且按前面所述使用清单文件设置了应用注册,则此步骤已经完成。 如果使用 Azure 门户来创建应用注册,请继续阅读本部分的余下内容来设置 API 权限。

在应用注册的门户页中,从菜单中选择“API 权限”。 在随后出现的权限页上,选择“+ 添加权限”按钮

Screenshot of the app registration in the Azure portal, highlighting the 'API permissions' menu option and 'Add a permission' button.

在随后出现的“请求 API 权限”页中,切换到“我的组织使用的 API”选项卡并搜索“Azure 数字孪生”。 从搜索结果中选择“Azure 数字孪生”,以继续分配对 Azure 数字孪生 API 的权限。

Screenshot of the 'Request API Permissions' page search result in the Azure portal showing Azure Digital Twins.

注意

如果你的订阅仍然包含来自以前的服务公共预览版(2020 年 7 月之前)中的现有 Azure 数字孪生实例,则你需要改为搜索并选择“Azure 智能空间服务”。 这是同一组 API 的旧名称(请注意“应用程序(客户端) ID”与上面的屏幕截图中相同),除了改为执行此步骤以外,你的体验在其他方面没有变化。 Screenshot of the 'Request API Permissions' page search result showing Azure Smart Spaces Service in the Azure portal.

接下来,选择要授予的对这些 API 的权限。 展开“读取(1)”权限,然后选中标有“Read.Write”的框,以向此应用注册授予读取者和写入者权限。

Screenshot of the 'Request API Permissions' page and selecting 'Read.Write' permissions for the Azure Digital Twins APIs in the Azure portal.

完成后选择“添加权限”

验证 API 权限

在“API 权限”页上,验证现在是否出现了与 Azure 数字孪生对应的、反映 Read.Write 权限的条目

Screenshot of the API permissions for the Microsoft Entra app registration in the Azure portal, showing 'Read/Write Access' for Azure Digital Twins.

还可以在应用注册的 manifest.json 中验证与 Azure 数字孪生的连接。添加 API 权限后,会使用 Azure 数字孪生信息自动更新此文件。

为此,请从菜单中选择“清单”以查看应用注册的清单代码。 滚动到代码窗口的底部,然后在 requiredResourceAccess 下查找以下字段和值:

  • "resourceAppId": "0b07f429-9f4b-4714-9392-cc5e8e80c8b0"
  • "resourceAccess" > "id": "4589bd03-58cb-4e6c-b17f-b580e39652f8"

这些值显示在以下屏幕截图中:

Screenshot of the manifest for the Microsoft Entra app registration in the Azure portal.

如果缺少这些值,请重试有关添加 API 权限的部分中所述的步骤。

适用于你的组织的其他可行步骤

你的组织可能需要订阅所有者或管理员执行其他操作才能完成应用注册设置。 根据组织的特定设置,所需的步骤可能会有所不同。 在下面选择一个选项卡以查看针对你的首选界面定制的这些信息。

下面是订阅所有者或管理员可能需要进行的一些常见潜在活动。 可以从Azure 门户中的 Microsoft Entra 应用注册 页面执行这些操作和其他操作。

  • 授予管理员同意进行应用注册。 你的组织可能已在 Microsoft Entra ID 中全局启用管理员同意,用于订阅中的所有应用注册。 如果是这样,则所有者/管理员需要在应用注册的“API 权限”页上为你的公司选择以下按钮,以使应用注册有效:

    Screenshot of the Azure portal showing the 'Grant admin consent' button under API permissions.

    • 如果已成功授予同意,则 Azure 数字孪生对应的条目应会显示“状态”值“已授予 (你的公司)”

    Screenshot of the Azure portal showing the admin consent granted for the company under API permissions.

  • 激活公共客户端访问

  • 设置特定的回复 URL 用于进行 Web 和桌面访问

  • 允许隐式 OAuth2 身份验证流

有关应用注册及其不同设置选项的详细信息,请参阅将应用程序注册到 Microsoft 标识平台。

后续步骤

在本文中,你将设置一个 Microsoft Entra 应用注册,该注册可用于使用 Azure 数字孪生 API 对客户端应用程序进行身份验证。

接下来请了解身份验证机制,包括一个使用应用注册的机制,以及其他不使用应用注册的机制: