管理 IoT Edge 憑證
適用於: IoT Edge 1.1
重要
IoT Edge 1.1 終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 的支援資訊,請參閱 Microsoft 產品生命週期。 如需更新至最新版IoT Edge的詳細資訊,請參閱 更新IoT Edge。
所有 IoT Edge 裝置都會使用憑證在執行階段和執行於裝置的任何模組之間,建立安全的連線。 作為閘道運作的 IoT Edge 裝置也會使用這些相同的憑證來連線至其下游裝置。 如需IoT Edge裝置上不同憑證功能的詳細資訊,請參閱 瞭解 Azure IoT Edge 如何使用憑證。
注意
本文中使用的根 CA 一詞是指 IoT 解決方案憑證鏈結中最上層授權單位的憑證。 您不需要使用聯合證書頒發機構單位的憑證跟證書,或組織的證書頒發機構單位的跟證書。 在許多情況下,它實際上是中繼 CA 憑證。
必要條件
一個 IoT Edge 裝置。 如果您沒有設定 IoT Edge 裝置,則可以在 Azure 虛擬機器中建立一個裝置。 請遵循其中一篇快速入門文章中的步驟來建立虛擬 Linux 裝置或建立虛擬 Windows 裝置。
能夠在設定範本之後編輯 IoT Edge 組態檔
config.toml
。如果您的
config.toml
不是以範本為基礎,請開啟範本,並使用加上註解的指引,在範本結構之後新增組態區段。如果您有尚未設定的新 IoT Edge 安裝,請複製範本以初始化設定。 如果您有現有的設定,請勿使用此命令。 該命令會覆寫檔案。
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
裝置 CA
所有 IoT Edge 裝置都會使用憑證在執行階段和執行於裝置的任何模組之間,建立安全的連線。 作為閘道運作的 IoT Edge 裝置也會使用這些相同的憑證來連線至其下游裝置。 如需IoT Edge裝置上不同憑證功能的詳細資訊,請參閱 瞭解 Azure IoT Edge 如何使用憑證。
IoT Edge 會在數種情況下自動在裝置上產生裝置 CA,包括:
- 如果您在安裝及布建 IoT Edge 時未提供自己的生產憑證,IoT Edge 安全性管理員會自動產生 裝置 CA 憑證。 此自我簽署憑證僅適用於開發和測試案例,而非生產環境。 此憑證會在 90 天后到期。
- IoT Edge 安全性管理員也會產生 由裝置 CA 憑證 簽署的工作負載 CA 憑證。
針對這兩個自動產生的憑證,您可以選擇在組態檔中設定旗標,以設定憑證存留期的天數。
注意
IoT Edge 安全性管理員建立的第三個自動產生的憑證是 IoT Edge 中樞伺服器證書。 此憑證的存留期一律為 30 天,但在到期前會自動更新。 組態檔中設定的自動產生的 CA 存留期值不會影響此憑證。
自定義快速入門裝置 CA 憑證存留期
在指定天數之後到期時,必須重新啟動IoT Edge才能重新產生裝置CA憑證。 裝置 CA 憑證不會自動更新。
若要將憑證到期設定為預設 90 天以外的專案,請將值以天為單位新增至 組態檔的 [憑證 ] 區段。
certificates: device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>" device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>" trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>" auto_generated_ca_lifetime_days: <value>
注意
目前,由於 libiothsm 中的限制,無法使用在 2038 年 1 月 1 日或之後到期的憑證。
刪除資料夾的內容
hsm
,以移除任何先前產生的憑證。/var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
重新啟動IoT Edge服務。
sudo systemctl restart iotedge
確認存留期設定。
sudo iotedge check --verbose
檢查生產整備程度輸出 :憑證 檢查,其中列出自動產生的裝置 CA 憑證到期前的天數。
安裝生產環境的裝置CA
進入生產案例或想要建立閘道裝置之後,您必須提供自己的憑證。
建立及安裝生產環境的裝置CA
使用您自己的證書頒發機構單位來建立下列檔案:
- 根 CA
- 裝置 CA 憑證
- 裝置 CA 私密金鑰
根 CA 不是組織最上層的證書頒發機構單位。 這是IoT Edge案例的最上層證書頒發機構單位,IoT Edge 中樞模組、用戶模組,以及任何下游裝置會用來建立彼此之間的信任。
若要查看這些憑證的範例,請檢閱在管理範例和教學課程的測試 CA 憑證中 建立示範憑證的腳本。
注意
目前,由於 libiothsm 中的限制,無法使用在 2038 年 1 月 1 日或之後到期的憑證。
將三個憑證和金鑰檔案複製到 IoT Edge 裝置。 您可使用如 Azure Key Vault 的服務或類似安全複製通訊協定等功能來移動憑證檔案。 如果您在 IoT Edge 裝置本身上產生憑證,您可以略過此步驟,並使用工作目錄的路徑。
提示
如果您使用範例腳本來 建立示範憑證,則三個憑證和密鑰檔案位於下列路徑:
- 裝置 CA 憑證:
<WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
- 裝置 CA 私密金鑰:
<WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
- 根 CA:
<WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
- 裝置 CA 憑證:
開啟 IoT Edge 安全性精靈組態檔:
/etc/iotedge/config.yaml
將 config.yaml 中的憑證 屬性設定為 IoT Edge 裝置上憑證和密鑰檔案的檔案 URI 路徑。
#
拿掉憑證屬性前面的字元,以取消批注四行。 請確定憑證 : 行前面沒有空格,且巢狀專案會縮排兩個空格。 例如:certificates: device_ca_cert: "file:///<path>/<device CA cert>" device_ca_pk: "file:///<path>/<device CA key>" trusted_ca_certs: "file:///<path>/<root CA cert>"
請確定使用者 iotedge 具有保存憑證之目錄的讀取/寫入許可權。
如果您之前已在裝置上使用任何其他 IoT Edge 憑證,請先刪除下列兩個目錄中的檔案,再啟動或重新啟動 IoT Edge:
/var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
重新啟動IoT Edge。
sudo iotedge system restart
模組伺服器憑證
Edge 精靈會發出模組伺服器和身分識別憑證,以供 Edge 模組使用。 Edge 模組仍負責視需要更新其身分識別和伺服器憑證。
續約
伺服器證書可能會從 Edge CA 憑證或透過 DPS 設定的 CA 發行。 不論發行方法為何,模組都必須更新這些憑證。
1.2 和更新版本中的變更
- 裝置 CA 憑證已重新命名為 Edge CA 憑證。
- 工作負載 CA 憑證已被取代。 現在,IoT Edge 安全性管理員會直接從 Edge CA 憑證產生 IoT Edge 中樞
edgeHub
伺服器憑證,而不需要憑證之間的中繼工作負載 CA 憑證。 - 預設組態檔具有新的名稱和位置,預設從
/etc/iotedge/config.yaml
到/etc/aziot/config.toml
。iotedge config import
命令可用來協助將組態資訊從舊的位置和語法移轉至新的位置和語法。
下一步
在 IoT Edge 裝置上安裝憑證是在生產環境中部署解決方案之前的必要步驟。 深入了解如何在生產環境中準備部署 IoT Edge 解決方案。