你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置代理内部流量加密和内部证书

确保基础结构内部通信的安全性对于维护数据完整性和保密性非常重要。 可以将 MQTT 代理配置为加密内部流量和数据。 加密证书是使用凭据管理器自动管理的。

加密内部流量

重要

此设置要求修改代理资源,并且只能在初始部署时使用 Azure CLI 或 Azure 门户进行配置。 如果需要 Broker 配置更改,则需要新的部署。 若要了解详细信息,请参阅自定义默认代理

“加密内部流量”功能用于加密 MQTT 代理前端和后端 pod 之间传输中的内部流量。 部署 Azure IoT 操作时,此功能默认启用。

若要禁用加密,请在“代理资源”中修改 advanced.encryptInternalTraffic 设置。 这只能在使用 az iot ops create 命令部署 Azure IoT 操作时通过 --broker-config-file 标志来完成。

注意

禁用加密可以提高 MQTT 代理性能。 但是,为了防范中间人攻击等安全威胁,我们强烈建议保持此设置启用状态。 仅在受控制的非生产环境中进行测试时禁用加密。

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

然后,使用带有 --broker-config-file 标志的 az iot ops create 命令部署 Azure IoT 操作,如以下命令(为简洁起见,省略了其他参数):

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

内部证书

启用加密时,代理使用证书管理器来生成和管理用于加密内部流量的证书。 证书管理器会在证书到期时自动续订证书。 可以在“代理资源”中配置证书设置,如有效期、何时续订以及私钥算法。 目前,当使用 az iot ops create 命令部署 Azure IoT 操作时,仅支持通过使用 --broker-config-file 标志来更改证书设置。

例如,要将证书有效期设置为 240 小时,在到期前 45 分钟续订,并将私钥算法设置为 RSA 2048,请准备一个 JSON 格式的代理配置文件:

{
  "advanced": {
    "encryptInternalTraffic": "Enabled", 
    "internalCerts": {
      "duration": "240h",
      "renewBefore": "45m",
      "privateKey": {
        "algorithm": "Rsa2048",
        "rotationPolicy": "Always"
      }
    }
  }
}

然后,使用带有 --broker-config-file <FILE>.jsonaz iot ops create 命令部署 Azure IoT 操作。

要了解更多信息,请参阅用于高级 MQTT 代理配置的 Azure CLI 支持代理示例

后续步骤