對事件中樞命名空間的要求強制執行最低必要版本的傳輸層安全性 (TLS)
用戶端應用程式和 Azure 事件中樞命名空間之間的通訊,是使用傳輸層安全性 (TLS) 進行加密。 TLS 為標準密碼編譯通訊協定,可確保網際網路上用戶端與服務之間的隱私權和資料完整性。 如需 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 用戶端變更以針對 Azure 服務匯流排和 Azure 事件中樞支援 TLS 1.3 (英文)
重要
如果您使用連線到 Azure 事件中樞的服務,請確定該服務使用適當的 TLS 版本將要求傳送至 Azure 事件中樞,然後再設定事件中樞命名空間的必要最低版本。
要求最低 TLS 版本的必要權限
若要設定事件中樞命名空間的 MinimumTlsVersion
屬性,使用者必須具有建立及管理事件中樞命名空間的權限。 可提供這些權限的 Azure 角色型存取控制 (Azure RBAC) 角色包括 Microsoft.EventHub/namespaces/write 或 Microsoft.EventHub/namespaces/* 動作。 具有此動作的內建角色包括:
- Azure Resource Manager 擁有者角色
- Azure Resource Manager 參與者角色
- Azure 事件中樞資料擁有者角色
角色指派的範圍必須設定為事件中樞命名空間或更高的層級,以允許使用者要求事件中樞命名空間的最低版本 TLS。 如需角色範圍的詳細資訊,請參閱了解 Azure RBAC 的範圍。
請小心將這些角色的指派限制為需要建立事件中樞命名空間或更新其屬性的使用者。 使用最低權限原則,以確保使用者具有完成其工作所需的最低權限。 如需使用 Azure RBAC 管理存取權的詳細資訊,請參閱 Azure RBAC 的最佳做法。
注意
傳統訂用帳戶管理員角色「服務管理員」和「共同管理員」含有 Azure Resource Manager 擁有者角色的相等權限。 擁有者角色包含所有動作,因此具有其中一個系統管理角色的使用者也可以建立和管理事件中樞命名空間。 如需詳細資訊,請參閱 Azure 角色、Microsoft Entra 角色和傳統訂用帳戶管理員角色。
網路考量
當用戶端將要求傳送至事件中樞命名空間時,用戶端會先與事件中樞命名空間端點建立連線,然後再處理任何要求。 建立 TLS 連線之後,會檢查最低 TLS 版本設定。 如果要求所使用的 TLS 版本比設定所指定的版本還舊,則連線會繼續成功,但是要求最後會失敗。
注意
由於串連程式庫中的限制,透過 Kafka 通訊協定連線時,將不會呈現來自無效 TLS 版本的錯誤。 而是會顯示一般例外狀況。
以下是一些需要考慮的重要事項:
- 如果使用的 TLS 版本低於所設定的最低 TLS 版本,則網路追蹤會顯示成功建立 TCP 連線和成功的 TLS 交涉,再傳回 401。
yournamespace.servicebus.windows.net
上的滲透或端點掃描會指出 TLS 1.0、TLS 1.1 和 TLS 1.2 的支援,因為服務會繼續支援所有這些通訊協定。 在命名空間層級強制執行的最低 TLS 版本會指出命名空間會支援的最低 TLS 版本。
下一步
請參閱下列文件以取得詳細資訊。