設定訊息代理程序內部流量和內部憑證的加密
確保基礎結構內部通訊的安全性對於維護數據完整性和機密性很重要。 您可以設定 MQTT 訊息代理程式來加密內部流量和數據。 加密憑證會使用認證管理員自動管理。
加密內部流量
重要
此設定會要求您修改 Broker 資源。 它只會在初始部署時使用 Azure CLI 或 Azure 入口網站 進行設定。 如果需要訊息代理程式設定變更,則需要新的部署。 若要深入瞭解,請參閱 自定義預設 Broker。
加密 內部流量 功能可用來加密 MQTT 訊息代理程式前端與後端 Pod 之間傳輸中的內部流量。 當您部署 Azure IoT 作業時,預設會啟用它。
若要停用加密,請修改 advanced.encryptInternalTraffic
Broker 資源中的設定。 您只能在使用 命令部署IoT作業az iot ops create
期間使用 --broker-config-file
旗標來執行此步驟。
警告
停用加密可以改善 MQTT 訊息代理程式效能。 若要防範如中間人攻擊之類的安全性威脅,強烈建議您保持啟用此設定。 只在受控制的非生產環境中停用加密以進行測試。
{
"advanced": {
"encryptInternalTraffic": "Disabled"
}
}
然後,使用 az iot ops create
命令搭配 --broker-config-file
旗標來部署IoT作業,就像下列命令一樣。 (為了簡潔起見,請省略其他參數。
az iot ops create ... --broker-config-file <FILE>.json
內部憑證
啟用加密時,MQTT 訊息代理程式會使用 cert-manager 來產生和管理用於加密內部流量的憑證。 Cert-manager 會在憑證到期時自動更新憑證。 您可以設定憑證設定,例如持續時間、何時更新,以及 Broker 資源中的私鑰演演算法。 目前,只有在您使用 命令部署IoT作業az iot ops create
時,才--broker-config-file
支援使用旗標來變更憑證設定。
例如,若要將憑證 duration
設定為240小時、 renewBefore
時間設定為45分鐘,並將 privateKey
algorithm
設定為 RSA 2048,請以 JSON 格式準備 Broker 組態檔:
{
"advanced": {
"encryptInternalTraffic": "Enabled",
"internalCerts": {
"duration": "240h",
"renewBefore": "45m",
"privateKey": {
"algorithm": "Rsa2048",
"rotationPolicy": "Always"
}
}
}
}
然後,搭配 使用 az iot ops create
命令 --broker-config-file <FILE>.json
來部署IoT作業。
若要深入瞭解,請參閱 進階 MQTT 訊息代理程式組態 和 Broker 範例的 Azure CLI 支援。