MQTT 用戶端認證是指 Azure 事件方格 中的 MQTT 代理功能在允許用戶端連線並交換訊息前,驗證其身份的過程。 MQTT 經紀人會在連線握手時驗證客戶端。 認證是授權檢查的前提條件,這些檢查用於規範發佈與訂閱操作。
MQTT 代理支援多種認證模式,因此您可以將方法與客戶端的能力、部署地點及身份提供者匹配。
憑證式驗證
您可以使用憑證授權中心(CA)簽署的憑證或自簽憑證來驗證用戶端。 MQTT 代理程式會在雙向 TLS(mTLS)連線握手過程中驗證用戶端憑證。
欲了解更多資訊,請參閱 使用憑證進行 MQTT 用戶端驗證。
Microsoft Entra ID 驗證
你可以透過使用 Microsoft Entra JSON Web Token (JWT) 來驗證擁有 Microsoft Entra 身份的 MQTT 用戶端。 Azure 角色基礎存取控制(Azure RBAC)決定客戶端是否能發佈或訂閱特定主題空間。 此方法適合在 Azure 或可取得 Microsoft Entra 令牌的環境中執行的客戶端。
如需詳細資訊,請參閱 Microsoft Entra JWT 驗證和 Azure RBAC 授權以發佈或訂閱 MQTT 訊息 (部分機器翻譯)。
OAuth 2.0 JWT 驗證
您可以透過第三方 OpenID Connect(OIDC)身份提供者發出的 JWT 來驗證 MQTT 用戶端。 對於未在 Azure 中配置,但已在外部身份提供者中有身份的 MQTT 用戶端,請使用此方法。
欲了解更多資訊,請參閱 使用 OAuth 2.0 JWT 認證客戶端。
自訂 Webhook 驗證
Webhook 驗證可讓外部 HTTPS 端點(例如 webhook 或由您控制的 Azure Function)動態驗證 MQTT 連線。 當你需要將 MQTT 代理者與自訂認證系統、第三方身份提供者或企業安全政策整合時,請使用此模式。
在此流程中,MQTT 用戶端嘗試連接事件網格命名空間,事件網格呼叫已設定的 webhook,並以該命名空間的管理身份驗證並傳遞連線細節。 webhook 會驗證用戶端的憑證,例如共享存取簽章(SAS)令牌、使用者名稱與密碼配對,或憑證撤銷清單(CRL)檢查,並回傳允許或拒絕連線的回應。 webhook 也可以在回應中包含元資料。 Event Grid 利用這些元資料授權後續的 MQTT 封包,提供對主題存取與訊息發布的細緻控制。
如需詳細資訊,請參閱使用 自訂 Webhook 驗證向 MQTT 代理程式進行驗證。