本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
排他性事物关联是指将一个 X.509 证书附加到单个事物上。 AWS IoT 在这种情况下,该证书不能用于其他用途。通过确保证书仅供单个物联网设备使用,它有助于防止安全漏洞。
在中 AWS IoT,客户端 ID 是事物或设备连接到 AWS IoT Core MQTT 代理时的唯一标识符。如果您使用非排他性关联,则可以将多个内容附加到同一个证书上。当存在非排他性事物关联时,为了保持清晰的关联并避免潜在的冲突,必须将客户端 ID 与事物名称相匹配。
本主题内容
使用案例
将事物与连接关联可提供以下功能。
注意
请注意,如果您的 IoT 事物和客户端连接具有非排他性关联,则可以使用除生命周期事件功能之外的所有以下所有功能。要将您的事物名称包含在生命周期事件消息中,您的物联网事物和客户端连接必须具有排他性关联。
事物策略变量-您可以使用事物策略变量来授权设备访问 AWS IoT API 操作。这些变量允许您编写基于名称、类型和属性值等事物属性授予或拒绝权限的 AWS IoT Core 策略。通过使用事物策略变量,您可以应用相同的策略来控制多个 AWS IoT Core 设备。这使您可以简化策略管理并减少资源重复。有关更多信息,请参阅事物策略变量。
生命周期事件-您可以在生命周期事件(例如,连接、断开连接和订阅以及取消订阅)中接收事物名称。这允许处理消息中包含的事物名称,例如规则中的事物名称。有关更多信息,请参阅生命周期事件。
特定于资源的日志记录-您可以为事物组配置资源特定的日志记录,并轻松地为所定义的事物组中的所有事物应用所需的日志配置。有关更多信息,请参阅 在 () 中配置特定资源的登录 AWS IoT CLI。
成本分配-您可以创建带有自定义标签的账单组以进行成本分配,然后将这些内容添加到这些组中。有关更多信息,请参阅账单组。
如何将事物与连接关联
如果你的客户端 ID 与你在注册表中的事物名称相匹配,则在你将 X.509 证书附加到该物联网事物之后, AWS IoT Core 会将客户端连接与该事物相关联。如果您的客户端 ID 与注册表中的事物名称不匹配,则可以专门将 X.509 证书附加到该事物以建立此关联。具有这种独家附件的东西被称为排他性东西。否则,它被称为非排他性事物。当证书与专有事物关联时,只有将该证书与专有事物分离,才能将其与其他内容相关联。在本节中,选择 AWS Management Console 或 AWS CLI 将事物与连接相关联。
仅使用. 将证书附加到事物上 AWS Management Console。
-
在 AWS IoT 控制台中打开AWS IoT 主页
。在左侧导航栏中,从 “安全” 中选择 “证书”。 -
在 “证书” 页面上,选择要附加事物的证书。然后从页面右上角的 “操作” 中选择 “附加到内容”。
或者,选择证书并导航到证书详细信息页面。选择 “事物” 选项卡,然后选择 “附加到事物”。
-
在将证书附加到事物页面上,选中将事物关联到连接复选框。然后从 “事物” 下拉列表中选择要将此证书附加到的对象。
-
选择 “附加事物”。如果操作成功,您将看到一个标语,上面写着 “已成功将某件事附加到您的证书”,并且该内容将被添加到 “事物” 选项卡中。
要将证书与专有事物分离,请使用 AWS Management Console
-
在 AWS IoT 控制台中打开AWS IoT 主页
。在左侧导航栏中,从 “安全” 中选择 “证书”。 -
在证书页面上,选择证书并导航到证书详细信息页面。
-
在证书详细信息页面上,选择事物选项卡。然后选择要将证书分离到的对象。选择 “分离内容”。
-
在 “分离事物” 窗口中,确认您的操作。选择分离。如果操作成功,您将看到一条横幅,上面写着 “已成功将某件事从证书中分离出来”,并且该内容将不再显示在 “事物” 选项卡中。
-
要使用将证书附加到事物 AWS CLI,请运行attach-thing-principal
命令。要指定独占 certificate-to-thing附件,必须在该 --thing-principal-type
字段EXCLUSIVE_THING
中指定。命令示例如下。aws iot attach-thing-principal \ --thing-name "thing_1" \ --principal "arn:aws:iot:
us-east-1
:123456789012
:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8
" \ --thing-principal-type "EXCLUSIVE_THING"此命令不会生成任何输出。有关更多信息,请参阅 将委托人附加到事物。
-
要列出与指定证书关联的内容以及附件类型,请运行
list-principal-things-v2
命令。附件类型是指证书如何附加到事物。命令示例如下。$ aws iot list-principal-things-v2 \ --principal "arn:aws:iot:
us-east-1:123456789012
:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8
"输出可能如下所示。
{ "PrincipalThingObjects": [ { "thingPrincipalType": "EXCLUSIVE_THING", "thing": "arn:aws:iot:
us-east-1
:123456789012
:thing/thing_1
" } ] }有关更多信息,请参阅 列出与委托人相关的内容 V2。
-
要列出与指定事物关联的委托人以及附件类型,请运行该
list-thing-principals-v2
命令。附件类型是指证书如何附加到事物。命令示例如下。$ aws iot list-thing-principals-v2 \ --thing-name "thing_1"
输出可能如下所示。
{ "ThingPrincipalObjects": [ { "thingPrincipalType": "EXCLUSIVE_THING", "principal": "arn:aws:iot:
us-east-1
:123456789012
:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8
" } ] }有关更多信息,请参阅 列出与事物相关的委托人 V2。
-
要将证书与事物分离,请运行detach-thing-principal命令。
aws iot detach-thing-principal \ --principal "arn:aws:iot:
us-east-1
:123456789012
:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8
" \ --thing-name "thing_1"此命令不会生成任何输出。有关更多信息,请参阅 将委托人与事物分离。