本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 MQTT 代理将客户端设备连接到AWS IoT Greengrass核心设备
当您在AWS IoT Greengrass Core 设备上使用 MQTT 代理时,设备会使用该设备独有的核心设备证书颁发机构 (CA) 向代理颁发证书,以便与客户端建立双向 TLS 连接。
AWS IoT Greengrass将自动生成核心设备 CA,也可以提供您的 CA。连接客户端设备身份验证组件AWS IoT Greengrass时,会使用核心设备 CA 进行注册。自动生成的核心设备 CA 是永久性的,只要配置了客户端设备身份验证组件,设备就会继续使用相同的 CA。
当 MQTT 代理启动时,它会请求证书。客户端设备身份验证组件使用核心设备 CA 颁发 X.509 证书。当代理启动、证书过期或连接信息(例如 IP 地址)发生变化时,证书会轮换。有关更多信息,请参阅在本地 MQTT 代理上轮换证书:
要将客户端连接到 MQTT 代理,您以下以下以下参数:
-
客户端设备必须具有AWS IoT Greengrass核心设备 CA。您可以通过云发现或手动提供 CA 来获得此 CA。有关更多信息,请参阅使用您自己的证书颁发机构:
-
核心设备(CA)颁发的代理证书中的核心设备的完全限定域名(FQDN)或 IP 地址。您可以使用IP 探测器组件或手动配置 IP 地址来确保这一点。有关更多信息,请参阅管理核心设备端点:
-
客户端设备身份验证组件必须授予客户端设备连接到 Greengrass 核心设备的权限。有关更多信息,请参阅客户端设备身份验证:
使用您自己的证书颁发机构
如果您的客户端设备无法访问云以发现您的核心设备,则可以提供核心设备证书颁发机构 (CA)。您的 Greengrass 核心设备使用核心设备 CA 为您的 MQTT 代理颁发证书。配置核心设备并向客户端设备预置其 CA 后,您的客户端设备即可连接到终端节点并使用核心设备 CA(自己提供的 CA 或自动生成)验证 TLS 握手。
要将客户端设备身份验证组件配置为使用您的核心设备 CA,请在部署组件时设置certificateAuthority
配置参数。您提供以下细节在配置期间提供以下详细信息:
-
核心设备 CA 证书的位置。
-
核心设备 CA 证书的私钥。
-
(可选)如果核心设备 CA 是中间 CA,则证书链到根证书。
如果您提供核心设备 CA,则将 CAAWS IoT Greengrass 注册到云中。
您可以将证书存储在硬件安全模块或文件系统中。以下示例显示了使用 HSM/TPM 存储的中间 CA 的certificateAuthority
配置。请注意,证书链只能存储在磁盘上。
"certificateAuthority": {
"certificateUri": "pkcs11:object=CustomerIntermediateCA
;type=cert",
"privateKeyUri": "pkcs11:object=CustomerIntermediateCA
;type=private"
"certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem
",
}
在此示例中,certificateAuthority
配置参数将客户端设备身份验证组件配置为使用文件系统中的中间 CA:
"certificateAuthority": {
"certificateUri": "file:///home/ec2-user/creds/intermediateCA.pem
",
"privateKeyUri": "file:///home/ec2-user/creds/intermediateCA.privateKey.pem
",
"certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem
",
}
要将设备连接到AWS IoT Greengrass Core 设备,请执行以下操作:
-
使用您组织的根 CA 为 Greengrass 核心设备创建中间证书颁发机构(CA)。我们建议您使用中间 CA 作为最佳安全实践。
-
向 Greengrass 核心设备提供您的根 CA 的中间 CA 证书、私钥和证书链。有关更多信息,请参阅客户端设备身份验证:中间 CA 成为 Greengrass 核心设备的核心设备 CA,该设备将 CA 注册到AWS IoT Greengrass。
-
将客户端设备注册为AWS IoT事物。有关更多信息,请参阅AWS IoT Core开发者指南中的创建事物对象。将私有密钥、公有密钥、设备证书和根 CA 证书添加到您的客户端设备中。如何添加信息取决于您的设备和软件。
配置设备后,您可以使用证书和公钥链连接到 Greengrass 核心设备。您的软件负责查找核心设备端点。您可以手动为核心设备设置终端节点。有关更多信息,请参阅 手动管理端点。