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