部署規劃 - 內部流量加密

內部流量加密是一種安全功能,用於加密 MQTT 經紀人前端與後端 Pod 之間的通訊。 部署前先決定是否需要更改預設的內部流量加密設定。

Important

此設定會要求您修改代理程式資源。 它只會使用 Azure CLI 或 Azure 入口網站,在初始部署時進行設定。 如果需要代理程式設定變更,則需要新的部署。 若要深入了解,請參閱自訂預設代理人

加密 內部流量 功能可用來加密 MQTT 訊息代理程式前端與後端 Pod 之間傳輸中的內部流量。 當您部署 Azure IoT 作業時,預設會啟用它。

若要停用加密,請修改 advanced.encryptInternalTraffic Broker 資源中的設定。 您只能透過在透過--broker-config-file命令部署 IoT 作業時,使用az iot ops create旗標來執行此步驟。 欲了解更多資訊,請參閱 Azure CLI 對進階 MQTT 代理配置的支援

注意事項

停用加密可以改善 MQTT 訊息代理程式效能。 若要防範如中間人攻擊之類的安全性威脅,強烈建議您保持啟用此設定。 只在受控制的非生產環境中停用加密以進行測試。

{
  "advanced": {
    "encryptInternalTraffic": "Disabled"
  }
}

然後,使用 az iot ops create 命令搭配 --broker-config-file 旗標來部署IoT作業,就像下列命令一樣。 (為求簡潔,省略了其他參數。)

az iot ops create ... --broker-config-file <FILE>.json

設定內部憑證

啟用加密後,MQTT 經紀人會使用 憑證管理器 來產生並管理用於加密內部流量的憑證。 Cert-manager 會在憑證到期時自動更新憑證。 您可以設定憑證設定,例如持續時間、何時更新,以及 Broker 資源中的私鑰演演算法。 目前,只有在您使用 --broker-config-file 命令部署 IoT Operations 時,才支援使用 az iot ops create 旗標來變更憑證設定。

例如,若要將憑證 duration 設定為240小時、 renewBefore 時間設定為45分鐘,並將 privateKeyalgorithm 設定為 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 作業。

下一步