如何从 Azure IoT 中心设备预配服务取消注册或撤销设备

适当管理设备凭据对于高可见性 IoT 解决方案等系统至关重要。 此类系统的最佳做法是指定明确的计划,规定在设备凭据(共享访问签名 (SAS) 令牌或 X.509 证书)可能被盗用时应如何撤消设备的访问权限。

在设备预配服务中注册可使设备能够被预配。 已预配的设备是已向 IoT 中心进行了注册的设备,这允许设备接收其初始设备孪生状态并开始报告遥测数据。

本文介绍如何在预配服务实例中撤销设备,防止将来预配或重新预配该设备。 禁用单独注册或注册组不会从 IoT 中心删除现有的设备注册。 若要了解如何取消预配已预配到 IoT 中心的设备,请参阅管理取消预配

使用单独注册禁止设备

若要禁止通过设备预配服务来预配设备,可以更改单独注册的预配状态,以防止预配和重新预配该设备。 如果设备的行为超出其正常参数或假定遭到入侵,则可以利用此功能,或者将其作为测试设备的预配重试机制的一种方式。

如果你要禁止的设备是通过注册组预配的,请参阅从 X.509 注册组禁止特定的设备的步骤。

注意

请注意要撤消访问权限的设备的重试策略。 例如,具有无限的重试策略的设备可能持续尝试注册到预配服务。 这种情况会消耗服务资源(例如服务操作配额),并可能影响性能。

  1. 登录到 Azure 门户,并导航到设备预配服务实例。

  2. 选择“管理注册”,然后选择“单独注册”选项卡。

  3. 选择要禁用的设备的注册条目。

  4. 在注册详细信息页上,取消选中“预配状态”部分中的“启用此注册”框,然后选择“保存”。

    Screenshot that shows disabling an individual enrollment in the portal.

如果 IoT 设备处于设备生命周期的末期,不应再获允预配到 IoT 解决方案,则应从设备预配服务中删除设备注册:

  1. 在预配服务中,选择“管理注册”,然后选择“单独注册”选项卡。

  2. 对于要禁用的设备,选中其注册条目旁的复选框。

  3. 选择窗口顶部的“删除”,然后选择“是”以确认删除登记。

    Screenshot that shows deleting an individual enrollment in the portal.

通过使用注册组来禁用 X.509 中间或根 CA 证书

X.509 证书通常排列在证书信任链中。 如果链中任何阶段的证书被盗用,则信任受损。 必须禁用该证书,以防止设备预配服务对包含该证书的任何链中的设备下游进行预配。 若要详细了解 X.509 证书和及如何用其预配服务,请参阅 X.509 证书

注册组是共享 X.509 证书的常见证明机制的设备的项,由同一个中间或根 CA 签名。 登记组项配置了与中间或根 CA 相关联的 X.509 证书。 由证书链中包含该证书的设备共享的任何配置值(如孪生状态和 IoT 中心连接)。 若要禁用该证书,可禁用或删除其注册组。

若要通过禁用证书的注册组来暂时禁用该证书,请执行以下操作:

  1. 登录到 Azure 门户,并导航到设备预配服务实例。

  2. 在预配服务中,选择“管理登记”,然后选择“登记组”选项卡 。

  3. 选择正在使用要禁用的证书的注册组。

  4. 在注册详细信息页上,取消选中“预配状态”部分中的“启用此注册”框,然后选择“保存”。

    Disable enrollment group entry in the portal

若要通过删除证书的注册组来永久禁用该证书,请执行以下操作:

  1. 在预配服务中,选择“管理登记”,然后选择“登记组”选项卡 。

  2. 对于要禁用的证书,选中其注册组旁边的复选框。

  3. 选择窗口顶部的“删除”,然后选择“是”以确认删除登记组。

    Delete enrollment group entry in the portal

完成该过程后,会看到该项已从登记组列表中删除。

注意

删除证书登记组后,如果根证书或证书链中上游位置的其他中间证书存在已启用的登记组,则证书链中包含该证书的设备可能仍将能够登记。

注意

删除注册组不会删除组中设备的注册记录。 DPS 使用注册记录来确定是否已达到 DPS 实例的最大注册数。 孤立的注册记录仍计入此配额。 有关当前 DPS 实例支持的最大注册数,请参阅配额和限制

在删除注册组之前,请先删除注册组的注册记录。 可以在 Azure 门户中组的“注册状态”选项卡上手动查看和管理注册组的注册记录。 可以使用设备注册状态 REST APIDPS 设备 SDK 中的等效 API,或使用 az iot dps enrollment-group registration Azure CLI 命令以编程方式检索和管理注册记录。

从 X.509 注册组中禁止特定的设备

如果设备是通过注册组预配的,而你想要取消注册该设备,你可以通过仅为该设备创建一个禁用的单独注册来实现此目的。 如果设备通过设备预配服务进行连接和身份验证,服务将首先查找具有匹配注册 ID 的单独注册。 仅当找不到该设备的单独注册时,服务才会搜索注册组。

若要禁用注册组中的单独设备,请执行以下步骤:

  1. 登录到 Azure 门户,并导航到设备预配服务实例。

  2. 在预配服务中,选择“管理注册”,然后选择“单独注册”选项卡。

  3. 选择“添加单独注册”。

  4. 根据你是否有设备(最终实体)证书执行相应的步骤。

    • 如果你有设备证书,请在“添加注册”页上提供以下值:

      字段 说明
      证明机制 选择“X.509 客户端证书”
      主要证书文件 上传设备证书。 对于证书,要使用设备上安装的已签名最终实体证书。 设备使用已签名的最终实体证书进行身份验证。
    • 如果你没有设备证书,请在“添加注册”页上提供以下值:

      字段 说明
      证明机制 选择“对称密钥”
      自动生成对称密钥 :确保选中此复选框。 对于此方案,密钥并不重要。
      注册 ID 如果设备已预配,请使用其 IoT 中心设备 ID。 可以在注册组的注册记录中或设备预配到的 IoT 中心中找到此项。 如果尚未预配设备,请输入设备证书 CN。 (在后一种情况下,不需要设备证书,但需要知道 CN。)
  5. 滚动到“添加注册”页的底部,取消选中“启用此注册”复选框。

  6. 依次选择“查看 + 创建”、“创建”。

成功创建注册后,“单独注册”选项卡上应会列出你的已禁用设备注册。

后续步骤

取消注册也是更大的取消预配流程的一部分。 取消预配设备包括从预配服务取消注册以及从 IoT 中心取消注册。 若要了解完整流程,请参阅如何取消预配以前预配的设备