本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 裝置,請執行下列動作:
設定裝置後,您可以使用憑證和公開金鑰鏈來連線到 Greengrass 核心裝置。您的軟體負責尋找核心裝置端點。您可以為核心裝置手動設定端點。如需詳細資訊,請參閱 手動管理端點。