使用 MQTT 代理程式將用戶端裝置連接至AWS IoT Greengrass核心裝置 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 MQTT 代理程式將用戶端裝置連接至AWS IoT Greengrass核心裝置

當您在AWS IoT Greengrass Core 裝置上使用 MQTT 代理程式時,裝置會使用裝置唯一的核心裝置憑證授權單位 (CA),向代理程式核發憑證,以便與用戶端建立相互 TLS 連線。

AWS IoT Greengrass將核心裝置 CA 自有核心裝置 CA 建議視為自有核心裝置憑證機構憑證機構 核心裝置 CA 會在連接用戶端裝置驗證元件AWS IoT Greengrass時註冊。自動產生的核心裝置 CA 是永久性的,只要設定用戶端裝置驗證元件,裝置就會繼續使用相同的 CA。

當 MQTT 代理程式啟動時,它會要求憑證。用戶端裝置驗證元件使用核心裝置 CA 發行 X.509 憑證。當 Broker 啟動、憑證到期或連線資訊 (例如 IP 位址) 變更時,會輪替憑證。如需詳細資訊,請參閱本機 MQTT 代理程式上的憑證輪替

若要將用戶端連接到 MQTT 代理商,您需要下列資訊:

  • 用戶端裝置必須具有AWS IoT Greengrass核心裝置 CA。您可以透過雲端探索或手動提供 CA 來取得此 CA。如需詳細資訊,請參閱使用自己的憑證授權單位

  • 核心裝置的完整網域名稱 (FQDN) 或 IP 位址必須存在於核心裝置 CA 核發的代理人憑證中。您可以使用該IP 偵測器組件或手動配置 IP 地址確保這一點。如需詳細資訊,請參閱管理核心裝置端點

  • 客戶端設備身份驗證組件必須授予客戶端設備連接到 Greengrass 核心設備的權限。如需詳細資訊,請參閱用戶端裝置驗證

使用自己的憑證授權單位

如果您的用戶端裝置無法存取雲端來探索核心裝置,您可以提供核心裝置憑證授權單位 (CA)。您的 Greengrass 核心裝置會使用核心裝置 CA 為您的 MQTT 代理程式發行憑證。一旦您設定核心裝置並使用其 CA 佈建用戶端裝置,您的用戶端裝置就可以連線到端點,並使用核心裝置 CA (自己提供的 CA 或自動產生) 驗證 TLS 交握。

若要將用戶端裝置驗證元件設定為使用核心裝置 CA,請在部署元件時設定certificateAuthority組態參數。您必須在組態期間提供下列詳細資訊:

  • 核心裝置 CA 憑證的位置。

  • 核心裝置 CA 憑證的私密金鑰。

  • (選擇性) 如果核心裝置 CA 是中繼 CA,則根憑證的憑證鏈結。

如果您提供核心裝置 CA,請在雲端AWS IoT Greengrass註冊 CA。

您可以將憑證儲存在硬體安全模組或檔案系統中。下列範例顯示使用 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 裝置,請執行下列動作:

  1. 使用組織的根憑證機構憑證建 Greengrass 憑證授權單位 (CA)。我們將中繼憑證建議視為安全最佳實務。

  2. 將中繼 CA 憑證、私密金鑰以及根 CA 的憑證鏈結提供給 Greengrass 核心裝置。如需詳細資訊,請參閱用戶端裝置驗證。中繼 CA 會成為 Greengrass 核心裝置的核心裝置 CA,而且裝置會將 CA 註冊到AWS IoT Greengrass。

  3. 將用戶端裝置註冊為AWS IoT物件。如需詳細資訊,請參閱AWS IoT Core開發人員指南中的建立物件物件。將私有金鑰、公有金鑰、裝置憑證,以及根憑證複製到用戶端裝置憑證中。新增資訊的方式取決於您的裝置和軟體。

設定裝置後,您可以使用憑證和公開金鑰鏈來連線到 Greengrass 核心裝置。您的軟體負責尋找核心裝置端點。您可以為核心裝置手動設定端點。如需詳細資訊,請參閱 手動管理端點