控制對事件的存取
Azure 事件中樞同時支援 Microsoft Entra ID 和共用存取簽章 (SAS) 以處理驗證和授權。 Azure 提供下列 Azure 內建角色,以使用 Microsoft Entra ID 和 OAuth 來授權對事件中樞資料的存取:
- Azure 事件中樞資料擁有者:使用此角色以提供事件中樞資源的完整存取權。
- Azure 事件中樞資料傳送者:使用此角色以提供事件中樞資源的傳送存取權。
- Azure 事件中樞資料接收者:使用此角色以提供事件中樞資源的接收存取權。
使用受控識別授權存取
若要授權從應用程式中的受控識別對事件中樞服務的要求,您必須為該受控識別完成 Azure 角色型存取控制設定。 Azure 事件中樞可定義 Azure 角色,其中包含從事件中樞傳送和讀取的權限。 將 Azure 角色指派給受控識別時,受控識別即獲授與在適當範圍存取事件中樞資料的權限。
使用 Microsoft 身分識別平台授權存取
使用 Microsoft Entra ID 搭配事件中樞的主要優點是您的認證不再需要儲存在程式碼中。 您可以改為向 Microsoft 身分識別平台要求 OAuth 2.0 存取權杖。 Microsoft Entra 會驗證執行應用程式的安全性主體 (使用者、群組或服務主體)。 如果驗證成功,Microsoft Entra ID 會將存取權杖傳回給應用程式,然後應用程式就可以使用存取權杖來授權存取 Azure 事件中樞的要求。
使用共用存取簽章授權對事件中樞發行者的存取
事件發行者定義事件中樞的虛擬端點。 發行者只能用來將訊息傳送至事件中樞,不能用來接收訊息。 一般而言,事件中樞會為每個用戶端採用一個發行者。 所有傳送至事件中樞任一發行者的訊息都會加入該事件中樞內的佇列。 發行者可啟用細部的存取控制。
系統會為每個事件中樞用戶端指派一個唯一權杖,該權杖會上傳到用戶端。 保存權杖的用戶端只能傳送至一個發行者,而不能傳送至其他發行者。 如果多個用戶端共用同一個權杖,則每個用戶端都會共用發行者。
所有權杖都會獲指派共用存取簽章金鑰。 一般而言,所有權杖都會使用相同的金鑰簽署。 用戶端並不知道金鑰,這可防止用戶端製造權杖。 用戶端會使用相同的權杖進行操作,直到權杖到期為止。
使用共用存取簽章授權對事件中樞取用者的存取
若要對取用事件中樞產生者所產生資料的後端應用程式進行驗證,事件中樞權杖驗證會要求其用戶端將管理權限或接聽權限指派給其事件中樞命名空間或是事件中樞執行個體或主題。 系統會使用取用者群組從事件中樞取用資料。 雖然 SAS 原則提供了細微的範圍,但此範圍只能在實體層級定義,而不是在取用者層級定義。 這表示在命名空間層級或事件中樞執行個體或主題層級所定義的權限,會套用至該實體的取用者群組。