對服務匯流排命名空間的要求強制執行最低必要版本的傳輸層安全性 (TLS)
用戶端應用程式和 Azure 服務匯流排命名空間之間的通訊,是使用傳輸層安全性 (TLS) 進行加密。 TLS 為標準密碼編譯通訊協定,可確保網際網路上用戶端與服務之間的隱私權和資料完整性。 如需 TLS 的詳細資訊,請參閱傳輸層安全性。
Azure 服務匯流排支援為命名空間選擇特定的 TLS 版本。 目前,Azure 服務匯流排在公用端點上預設會使用 TLS 1.2,但仍支援 TLS 1.0 和 TLS 1.1,以便與舊版相容。
Azure 服務匯流排命名空間可讓用戶端使用 TLS 1.0 以上版本來傳送及接收資料。 若要強制執行更嚴格的安全性措施,您可以設定您的服務匯流排命名空間,要求用戶端以較新版本的 TLS 傳送和接收資料。 若服務匯流排命名空間要求最低版本的 TLS,則使用較舊版本提出的任何要求都會失敗。
重要
如果您使用連線到 Azure 服務匯流排的服務,請確定該服務使用適當的 TLS 版本將要求傳送至 Azure 服務匯流排,然後再設定服務匯流排命名空間的必要最低版本。
要求最低 TLS 版本的必要權限
若要設定服務匯流排命名空間的 MinimumTlsVersion
屬性,使用者必須具有建立及管理服務匯流排命名空間的權限。 可提供這些權限的 Azure 角色型存取控制 (Azure RBAC) 角色包括 Microsoft.ServiceBus/namespaces/write 或 Microsoft.ServiceBus/namespaces/* 動作。 具有此動作的內建角色包括:
- Azure Resource Manager 擁有者角色
- Azure Resource Manager 參與者角色
- Azure 服務匯流排資料擁有者角色
角色指派的範圍必須設定為服務匯流排命名空間或更高的層級,以允許使用者要求服務匯流排命名空間的最低版本 TLS。 如需角色範圍的詳細資訊,請參閱了解 Azure RBAC 的範圍。
請小心將這些角色的指派限制為需要建立服務匯流排命名空間或更新其屬性的使用者。 使用最低權限原則,以確保使用者具有完成其工作所需的最低權限。 如需使用 Azure RBAC 管理存取權的詳細資訊,請參閱 Azure RBAC 的最佳做法。
注意
傳統訂用帳戶管理員角色「服務管理員」和「共同管理員」含有 Azure Resource Manager 擁有者角色的相等權限。 擁有者角色包含所有動作,因此具有其中一個系統管理角色的使用者也可以建立和管理服務匯流排命名空間。 如需詳細資訊,請參閱 Azure 角色、Microsoft Entra 角色和傳統訂用帳戶管理員角色。
網路考量
當用戶端將要求傳送至服務匯流排命名空間時,用戶端會先與服務匯流排命名空間端點建立連線,然後再處理任何要求。 建立 TLS 連線之後,會檢查最低 TLS 版本設定。 如果要求所使用的 TLS 版本比設定所指定的版本還舊,則連線會繼續成功,但是要求最後會失敗。
注意
由於回溯相容性,未指定 MinimumTlsVersion
設定或已將此設定指定為 1.0 的命名空間,我們不會在透過 SBMP 通訊協定連線時,進行任何 TLS 檢查。
2026 年 9 月 30 日我們將淘汰 Azure 服務匯流排的 SBMP 通訊協定支援,因此您將無法在 2026 年 9 月 30 日之後再使用此通訊協定。 請在該日期之前移轉至使用 AMQP 通訊協定的最新 Azure 服務匯流排 SDK 程式庫,該程式庫提供重要的安全性更新和改進的功能。
如需詳細資訊,請參閱支援淘汰公告。
以下是一些需要考慮的重要事項:
- 如果使用的 TLS 版本低於所設定的最低 TLS 版本,則網路追蹤會顯示成功建立 TCP 連線和成功的 TLS 交涉,再傳回 401。
yournamespace.servicebus.windows.net
上的滲透或端點掃描會指出 TLS 1.0、TLS 1.1 和 TLS 1.2 的支援,因為服務會繼續支援所有這些通訊協定。 在命名空間層級強制執行的最低 TLS 版本會指出命名空間會支援的最低 TLS 版本。
下一步
請參閱下列文件以取得詳細資訊。