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