分享方式:


使用 Microsoft Entra 識別碼授權 Web PubSub 資源的存取權

Azure Web PubSub 服務會利用 Microsoft Entra 識別碼,啟用對 Azure Web PubSub 資源的要求授權。

藉由利用角色型訪問控制 (RBAC) 搭配 Microsoft Entra ID,即可將許可權授與給安全性主體[1]。 Microsoft Entra 會授權此安全性主體,並傳回 OAuth 2.0 令牌,Web PubSub 資源接著可以使用該令牌來授權要求。

相較於存取金鑰授權,使用 Microsoft Entra ID 進行 Web PubSub 要求的授權可提供改善的安全性和方便使用。 Microsoft 建議盡可能使用 Microsoft Entra 授權與 Web PubSub 資源,以確保以最低必要許可權進行存取。

[1] 安全性主體:使用者/資源群組、應用程式或服務主體,例如系統指派的身分識別和使用者指派的身分識別。

Web PubSub 的 Microsoft Entra ID 概觀

使用 Microsoft Entra ID 時,需要驗證才能存取 Web PubSub 資源。 此驗證牽涉到兩個步驟:

  1. 首先,Azure 會驗證安全性主體,併發出 OAuth 2.0 令牌。
  2. 其次,令牌會新增至 Web PubSub 資源的要求。 Web PubSub 服務會使用令牌來檢查服務主體是否具有資源的存取權。

使用 Microsoft Entra 識別碼時的客戶端驗證

交涉伺服器/函式應用程式會與 Web PubSub 資源分享存取密鑰,讓 Web PubSub 服務能夠使用存取密鑰所產生的用戶端令牌來驗證用戶端連線要求。

不過,使用 Microsoft Entra ID 來改善安全性時,通常會停用存取密鑰。

為了解決此問題,我們開發了會產生用戶端令牌的 REST API。 此令牌可用來連線到 Azure Web PubSub 服務。

若要使用此 API,交涉伺服器必須先從 Azure 取得 Microsoft Entra 令牌 ,才能自行驗證。 然後,伺服器可以使用 Microsoft Entra 令牌呼叫 Web PubSub 驗證 API,以擷取用戶端令牌然後,用戶端令牌會傳回給用戶端,該用戶端可以使用它來連線到 Azure Web PubSub 服務。

我們為支援的程式設計語言提供了協助程式函式(例如 'GenerateClientAccessUri)。

指派 Azure 角色以取得存取權限

Microsoft Entra 會透過 Azure 角色型訪問控制來授權受保護資源的訪問許可權。 Azure Web PubSub 定義一組 Azure 內建角色,其中包含用來存取 Web PubSub 資源的一組常見許可權。 您也可以定義自定義角色以存取 Web PubSub 資源。

資源範圍

將 Azure RBAC 角色指派給安全性主體之前,請務必識別主體應具備的適當存取層級。 建議以最窄的範圍授與角色。 位於下方的資源會繼承具有更廣泛範圍的 Azure RBAC 角色。

您可以從最窄的範圍開始,在下列層級設定對 Azure Web PubSub 資源的存取範圍:

  • 個別資源。

    在此範圍中,角色指派僅適用於目標資源。

  • 資源群組。

    在此範圍中,角色指派會套用至資源群組中的所有資源。

  • 訂用帳戶。

    在此範圍中,角色指派會套用至訂用帳戶中所有資源群組中的所有資源。

  • 管理群組

    在此範圍中,角色指派會套用至管理群組中所有訂用帳戶中所有資源群組中的所有資源。

適用於 Web PubSub 資源的 Azure 內建角色

  • Web PubSub Service Owner

    數據平面許可權的完整存取權,包括讀取/寫入 REST API 和驗證 API。

    此角色是建置上游伺服器最常見的角色。

  • Web PubSub Service Reader

    使用 將只讀 REST API 許可權授與 Web PubSub 資源。

    當您想要撰寫只呼叫 Web PubSub 數據平面 READONLY REST API 的監視工具時,就會使用它。

下一步

若要瞭解如何建立 Azure 應用程式並使用 Microsoft Entra 授權,請參閱

若要瞭解如何設定受控識別並使用 Microsoft Entra 驗證,請參閱

若要深入瞭解角色和角色指派,請參閱

若要瞭解如何建立自定義角色,請參閱

若要瞭解如何只使用 Microsoft Entra 授權,請參閱