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

设置 Azure 数字孪生实例和身份验证 (CLI)

本文介绍新 Azure 数字孪生实例的设置步骤,包括创建实例和设置身份验证。 完成本文操作后,即可对 Azure 数字孪生实例编程。

新的 Azure 数字孪生实例的完整设置包括两部分:

  1. 创建实例
  2. 设置用户访问权限:Azure 用户需要在 Azure 数字孪生实例上具有“Azure 数字孪生数据所有者”角色,才能管理该实例及其数据。 在此步骤中,你作为 Azure 订阅的所有者/管理员需将此角色分配给将要管理 Azure 数字孪生实例的人员。 这可能是你自己或你组织中的其他人。

重要

要完成整篇文章的步骤并完全设置一个可用的实例,你需要有权限来管理 Azure 订阅上的资源和用户访问权限。 第一个步骤可以由能够在订阅上创建资源的任何人完成,但第二个步骤需要有用户访问管理权限(或具有这些权限的人的协助)。 有关详细信息,请参阅用户访问权限步骤的先决条件:所需权限部分。

使用 Azure Cloud Shell

Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用来使用 Azure 服务。 可以使用 Azure Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。

若要启动 Azure Cloud Shell,请执行以下操作:

选项 示例/链接
选择代码块右上角的“试用”。 选择“试用”不会自动将代码复制到 Cloud Shell。 Azure Cloud Shell 的“试用”示例
转到 https://shell.azure.com 或选择“启动 Cloud Shell”按钮可在浏览器中打开 Cloud Shell。 在新窗口中启动 Cloud Shell
选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。 Azure 门户中的“Cloud Shell”按钮

若要在 Azure Cloud Shell 中运行本文中的代码,请执行以下操作:

  1. 启动 Cloud Shell。

  2. 选择代码块上的“复制”按钮以复制代码。

  3. 在 Windows 和 Linux 上选择 Ctrl+Shift+V 将代码粘贴到 Cloud Shell 会话中,或在 macOS 上选择 Cmd+Shift+V 将代码粘贴到 Cloud Shell 会话中。

  4. 选择 Enter 运行此代码。

设置 Cloud Shell 会话

要在打开的 Azure Cloud Shell 窗口中开始处理 Azure 数字孪生,首先需要登录,并为此会话将 shell 上下文设置为你的订阅。 在 Cloud Shell 中运行以下命令:

az login
az account set --subscription "<your-Azure-subscription-ID>"

提示

在上面的命令中,还可以使用订阅名称而不使用 ID。

如果这是你首次将此订阅与 Azure 数字孪生一起使用,请运行该命令以向 Azure 数字孪生命名空间进行注册。 (如果不确定,可以再次运行该命令,即使过去某个时候操作过也是如此。)

az provider register --namespace 'Microsoft.DigitalTwins'

接下来,将适用于 Azure CLI 的 Microsoft Azure IoT 扩展添加到 Cloud Shell 以支持用于与 Azure 数字孪生和其他 IoT 服务进行交互的命令。 运行此命令以确保你已安装最新版本的扩展:

az extension add --upgrade --name azure-iot

现在 Azure 数字孪生已可在 Cloud Shell 中使用。

若要验证 Azure 数字孪生在 Cloud Shell 中的就绪性,可以随时运行 az dt --help 查看可用的顶层 Azure 数字孪生命令列表。

创建 Azure 数字孪生实例

在本部分,你将使用 Cloud Shell 命令创建新的 Azure 数字孪生实例。 你需要提供:

  • 将在其中部署实例的资源组。 如果你没有记住现有的资源组,可以使用以下命令创建一个资源组:
    az group create --location <region> --name <name-for-your-resource-group>
    
  • 用于部署的区域。 若要查看哪些区域支持 Azure 数字孪生,请访问各区域的 Azure 产品可用性。
  • 你的实例的名称。 如果订阅在该区域已存在使用指定名称的其他 Azure 数字孪生实例,系统会要求你选择其他的名称。

在以下 az dt 命令中使用这些值创建实例:

az dt create --dt-name <name-for-your-Azure-Digital-Twins-instance> --resource-group <your-resource-group> --location <region>

验证是否成功并收集重要值

如果实例已成功创建,则 Cloud Shell 中的结果将如下所示,输出有关已创建资源的信息:

Cloud Shell 窗口屏幕截图,其中显示了在 Azure 门户中成功创建资源组和 Azure 数字孪生实例。

记下输出中 Azure 数字孪生实例的“hostName”、“name”和“resourceGroup”。 在继续使用 Azure 数字孪生实例时,可能需要使用所有这些重要的值,以便设置身份验证和相关的 Azure 资源。 如果其他用户将针对该实例进行编程,则应与他们共享这些值。

提示

你可以随时通过运行 az dt show --dt-name <your-Azure-Digital-Twins-instance> 来查看这些属性和你的实例的所有属性。

你现在已准备好 Azure 数字孪生实例。 接下来,你将向适当的 Azure 用户授予权限来管理该实例。

设置用户访问权限

Azure 数字孪生使用 Azure Active Directory (Azure AD) 进行基于角色的访问控制 (RBAC)。 这意味着,在用户可以对 Azure 数字孪生实例进行数据平面调用之前,需要为该用户分配具有相应权限的角色。

对于 Azure 数字孪生,此角色是“Azure 数字孪生数据所有者”。 要详细了解角色和安全性,可参阅 Azure 数字孪生解决方案的安全性

备注

此角色与 Azure AD“所有者”角色不同,后者也可以在 Azure 数字孪生实例范围内分配。 这是两个不同的管理角色,所有者不授予对数据平面功能的访问权限,而 Azure 数字孪生数据所有者则可以授予。

本部分介绍如何为 Azure 数字孪生实例中的用户创建角色分配(在 Azure AD 租户的 Azure 订阅中使用该用户的电子邮件)。 根据你在组织中的角色,你可以为自己设置此权限,或者以将要管理 Azure 数字孪生实例的其他人的名义设置此权限。

先决条件:权限要求

为了能够完成所有后续步骤,你需要在订阅中有一个具有以下权限的角色

  • 创建和管理 Azure 资源
  • 管理用户对 Azure 资源的访问权限(包括授予和委托权限)

满足此要求的常见角色包括“所有者”、“帐户管理员”或“用户访问管理员”和“参与者”的组合。 有关角色和权限的完整说明(包括其他角色包含哪些权限),请访问 Azure RBAC 文档中的经典订阅管理员角色、Azure 角色和 Azure AD 角色。

若要查看你在订阅中的角色,请访问 Azure 门户中的订阅页(你可以使用此链接,也可以通过门户搜索栏查找“订阅”)。 查找你正在使用的订阅的名称,然后在“我的角色”列中查看你在该订阅中的角色:

Azure 门户中“订阅”页的屏幕截图,显示用户为所有者。

如果你发现值是“参与者”,或者其他没有上述所需权限的角色,则可以联系订阅上有这些权限的用户(例如订阅所有者或帐户管理员),并按以下方式之一继续操作:

  • 请求他们以你的名义完成角色分配步骤。
  • 请求他们提升你在订阅中的角色,以便你有权自行继续执行。 这是否合适取决于你的组织和你在其中的角色。

分配角色

若要授予用户管理 Azure 数字孪生实例的权限,必须在实例中为他们分配“Azure 数字孪生数据所有者”角色。

使用以下命令来分配角色(必须由在 Azure 订阅中具有足够权限的用户来运行)。 此命令要求你传入要为其分配角色的用户在 Azure AD 帐户中的用户主体名称。 在大多数情况下,该值将与该用户在 Azure AD 帐户中的电子邮件匹配。

az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<Azure-AD-user-principal-name-of-user-to-assign>" --role "Azure Digital Twins Data Owner"

此命令的结果是有关已创建的角色分配的输出信息。

备注

如果此命令返回一个错误,指出 CLI 在 graph 数据库中找不到用户或服务主体

请改为使用用户的对象 ID 来分配角色。 对于使用个人 Microsoft 帐户 (MSA) 的用户,可能会发生这种情况。

使用 Azure Active Directory 用户的 Azure 门户页选择用户帐户并打开其详细信息。 复制用户的 ObjectID:

Azure 门户中的用户页面屏幕截图,其中突出显示了“对象 ID”字段中的 GUID。

然后,重复执行角色分配列表命令,将用户的对象 ID 用于上面的 assignee 参数。

验证是否成功

检查是否已成功设置角色分配的一种方法是在 Azure 门户中查看 Azure 数字孪生实例的角色分配。 在 Azure 门户中转到 Azure 数字孪生实例(可以在 Azure 数字孪生实例页上查找它,也可以在门户搜索栏中搜索它的名称)。

然后,在“访问控制(IAM)”>“角色分配”下查看其已分配的所有角色。 该用户应显示在列表中,其角色为“Azure 数字孪生数据所有者”。

Azure 门户中 Azure 数字孪生实例的角色分配屏幕截图。

现在,你已准备好 Azure 数字孪生实例,并分配了管理权限。

后续步骤

使用 Azure 数字孪生 CLI 命令在实例上测试各个 REST API 调用:

或者,了解如何使用验证码将客户端应用程序连接到实例: