你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
客户端应用程序与Azure Event Hubs命名空间之间的通信使用传输层安全性(TLS)进行加密。 TLS 是一种标准的加密协议,可确保通过 Internet 进行通信的客户端与服务之间的隐私和数据完整性。 有关 TLS 的详细信息,请参阅传输层安全性。
Azure Event Hubs支持为命名空间选择特定的 TLS 版本。 目前,Azure Event Hubs默认在公共终结点上使用 TLS 1.2,但仍支持 TLS 1.0 和 TLS 1.1 以实现向后兼容性。
Azure Event Hubs命名空间允许客户端使用 TLS 1.0 及更高版本发送和接收数据。 若要强制实施更严格的安全措施,可以将事件中心命名空间配置为要求客户端使用较新版本的 TLS 发送和接收数据。 如果事件中心命名空间需要最低版本的 TLS,则使用较旧版本发出的任何请求都会失败。
警告
自 2025 年 10 月 20 日起,Azure Event Hubs将不再支持 TLS 1.0 和 TLS 1.1。 所有事件中心部署的最低 TLS 版本将为 1.2。
重要
2024 年 10 月 31 日,将为 AMQP 流量启用 TLS 1.3。 已为 Kafka 和 HTTPS 流量启用 TLS 1.3。 Java客户端在 TLS 1.3 上可能存在问题,因为依赖于早期版本的 Proton-J。 有关更多详细信息,请阅读“更改 Java 客户端以支持使用 TLS 1.3 与 Azure 服务总线和 Azure 事件中心通信”
重要
如果使用连接到Azure Event Hubs的服务,请确保服务使用适当的 TLS 版本将请求发送到Azure Event Hubs,然后再为事件中心命名空间设置所需的最低版本。
需要最低版本的 TLS 所需的权限
若要为事件中心命名空间设置 MinimumTlsVersion 属性,用户必须具有创建和管理事件中心命名空间的权限。 提供这些权限的 Azure 基于角色的访问控制(Azure RBAC)角色包括 Microsoft.EventHub/namespaces/write 或 Microsoft.EventHub/namespaces/* 操作。 具有此操作的内置角色包括:
- Azure Resource Manager Owner 角色
- Azure Resource Manager Contributor 角色
- Azure Event Hubs 数据所有者角色
角色分配的范围必须限定为事件中心命名空间级别或更高级别,以便允许用户针对事件中心命名空间要求使用最低版本的 TLS。 有关角色范围的更多信息,请参阅 了解 Azure RBAC 的范围。
注意,请仅向需要创建事件中心命名空间或更新其属性的权限的用户分配这些角色。 使用最小特权原则确保用户拥有完成任务所需的最少权限。 有关使用 Azure RBAC 管理访问权限的详细信息,请参阅 Azure RBAC 的最佳做法。
注意
经典订阅管理员角色中的服务管理员和共同管理员角色相应于 Azure Resource Manager Owner 角色。 “所有者”角色包含所有操作,因此具有这些管理角色之一的用户也可以创建和管理事件中心命名空间。 有关详细信息,请参阅 Azure 角色、Microsoft Entra角色和经典订阅管理员角色。
网络注意事项
当客户端向事件中心命名空间发送请求时,客户端在处理任何请求之前,首先会与事件中心命名空间终结点建立连接。 建立 TLS 连接后,将检查最低 TLS 版本设置。 如果请求使用的 TLS 版本比设置指定的版本低,则连接仍会成功,但是请求最终会失败。
注意
由于 confluent 库中的限制,通过 Kafka 协议进行连接时,来自无效 TLS 版本的错误将不会出现, 而是改为显示常规异常。
以下是要考虑的几个要点:
- 如果使用的 TLS 版本低于配置的最低 TLS 版本,则网络跟踪将显示已成功建立 TCP 连接且已成功进行了 TLS 协商,然后返回 401。
-
yournamespace.servicebus.windows.net上进行的渗透测试或终端扫描将显示对 TLS 1.0、TLS 1.1 和 TLS 1.2 协议的支持,因为服务会继续支持这些协议。 在命名空间级别强制要求的最低 TLS 版本指示命名空间将支持的最低 TLS 版本。
后续步骤
有关详细信息,请参阅以下文档。