创建和管理设备标识

为设备创建设备标识以连接到 Azure IoT 中心。 本文介绍用于管理设备标识的关键任务,包括注册设备、收集其连接信息,然后在设备生命周期结束时删除或禁用设备。

先决条件

  • Azure 订阅中的 IoT 中心。 如果还没有中心,则可以按照创建 IoT 中心中的步骤进行操作。

  • 根据所使用的工具,有权访问 Azure 门户安装 Azure CLI

  • 如果 IoT 中心使用基于角色的访问控制 (RBAC) 进行管理,则需要对本文中的步骤拥有读/写/删除设备/模块权限。 这些权限包含在 IoT 中心注册表参与者角色中。

注册设备

本部分在 IoT 中心的标识注册表中创建设备标识。 除非设备具有设备标识,否则设备无法连接到中心。

IoT 中心标识注册表只存储设备标识,以启用对 IoT 中心的安全访问。 它存储设备 ID 和密钥用作安全凭据,以及可用于禁用单个设备访问的启用/禁用标志。

注册设备时,请选择其身份验证方法。 IoT 中心支持三种设备身份验证方法:

  • 对称密钥 - 此选项对于快速入门的情况最简单。

    注册设备时,你可以提供密钥,或者 IoT 中心会为你生成密钥。 设备和 IoT 中心都有一个对称密钥的副本,可在设备连接时进行比较。

  • X.509 自签名

    如果设备具有自签名 X.509 证书,则你需要为 IoT 中心提供证书版本,用于身份验证。 注册设备时,请上传证书“指纹”,这是设备 X.509 证书的哈希。 设备连接后,它会显示其证书,IoT 中心可以根据它知道的哈希来验证设备。 有关详细信息,请参阅《使用 X.509 证书对标识进行身份验证》

  • X.509 CA 签名 - 建议对生产环境使用此选项。

    如果设备具有 CA 签名的 X.509 证书,则在注册设备之前,请将签名链中的根或中间证书颁发机构 (CA) 证书上传到 IoT 中心。 设备在其证书信任链中具有已验证 X.509 CA 的 X.509 证书。 设备连接后,会显示其完整的证书链,IoT 中心知道 X.509 CA,因此可以验证该设备。 多个设备可以针对相同的已验证 X.509 CA 进行身份验证。 有关详细信息,请参阅《使用 X.509 证书对标识进行身份验证》

准备证书

如果使用 X.509 证书身份验证方法之一,请确保证书在注册设备之前已就绪:

  • 对于 CA 签名证书,《创建和上传用于测试的证书》教程提供了有关如何创建 CA 签名证书并将其上传到 IoT 中心的合适方法。 完成本教程后,即可使用 X.509 CA 签名的身份验证注册设备。

  • 对于自签名证书,在设备上需要两个设备证书(主证书和辅助证书),两者都需要指纹才能上传到 IoT 中心。 从证书中检索指纹的一种方法是使用以下 OpenSSL 命令:

    openssl x509 -in <certificate filename>.pem -text -fingerprint
    

添加设备

在 IoT 中心内创建设备标识。

  1. Azure 门户中导航到 IoT 中心。

  2. 选择“设备管理”>“设备”

  3. 选择“添加设备”,在 IoT 中心中添加设备。

    屏幕截图显示如何在 Azure 门户中添加新设备。

  4. 在“创建设备”中,提供新设备标识的信息:

    参数 从属参数
    设备 ID 为新设备命名。
    身份验证类型 选择“对称密钥”、“X.509 自签名”或“X.509 CA 签名”
    自动生成密钥 对于“对称密钥”身份验证,请选中此框,让 IoT 中心为设备生成密钥。 或者,取消选中此框并为设备提供主密钥和辅助密钥。
    主要指纹辅助指纹 对于“X.509 自签名”身份验证,请从设备的主要证书和辅助证书提供指纹哈希。

    重要

    收集的日志中可能会显示设备 ID 用于客户支持和故障排除,因此,在为日志命名时,请务必避免包含任何敏感信息。

  5. 选择“保存”。

检索设备连接字符串

对于示例和测试情况,最常见的连接方法是使用对称密钥身份验证并使用设备连接字符串进行连接。 设备连接字符串包含 IoT 中心的名称、设备的名称和设备身份验证信息。

有关连接设备的其他方法的信息,尤其是 X.509 身份验证,请参阅《Azure IoT 中心设备 SDK》

使用以下步骤检索设备连接字符串。

Azure 门户仅为使用对称密钥身份验证的设备提供设备连接字符串。

  1. Azure 门户中导航到 IoT 中心。

  2. 选择“设备管理”>“设备”

  3. 从“设备”窗格中的列表中选择设备。

  4. 复制“主连接字符串”的值。

    显示从 Azure 门户复制主连接字符串的值的屏幕截图。

    默认情况下,密钥和连接字符串进行了掩码处理,因为它们是敏感信息。 如果单击眼睛图标,这些信息就会显示。 使用“复制”按钮进行复制时,无需显示它们。

使用对称密钥身份验证的设备具有以下模式的设备连接字符串:

HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;SharedAccessKey=<PRIMARY_OR_SECONDARY_KEY>

具有 X.509 身份验证的设备(自签名或 CA 签名)通常不使用设备连接字符串进行身份验证。 确实要使用设备连接字符串时,其连接字符串采用以下模式:

HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;x509=true

禁用或删除设备

如果要将设备保留在 IoT 中心的标识注册表中,但要阻止其连接,则可将其状态更改为“禁用”。

  1. Azure 门户中导航到 IoT 中心。

  2. 选择“设备管理”>“设备”

  3. 从“设备”窗格中的列表中选择设备。

  4. 在设备详细信息页上,你可以禁用或删除设备注册。

    • 若要阻止设备连接,请将“启用与 IoT 中心的连接”参数设置为“禁用”

      显示在 Azure 门户中禁用设备的屏幕截图。

    • 若要从 IoT 中心的标识注册表中完全删除设备,请选择“删除”

      显示在 Azure 门户中删除设备的屏幕截图。

用于管理设备标识的其他工具

可以使用其他工具或接口来管理 IoT 中心标识注册表,包括: