通知中樞安全性

概觀

本主題說明 Azure 通知中樞的安全性模型。

共用存取簽章安全性

通知中樞會實作實體層級安全性配置,稱為「共用存取簽章 (SAS)」。 如安全性宣告中稍後所述,每個規則都會包含名稱、索引鍵值 (共用祕密) 和一組權限。

建立中樞時,會自動建立兩個規則:一個具有「接聽」權限 (供用戶端應用程式使用),另一個則具有「所有」權限 (供應用程式後端使用):

  • DefaultListenSharedAccessSignature:僅授與「接聽」權限。
  • DefaultFullSharedAccessSignature:授與「接聽」、「管理」和「傳送」權限。 此原則只能用於應用程式後端。 請不要將其用於用戶端應用程式;請使用只具有「接聽」存取權的原則。 若要使用新的 SAS 權杖來建立新的自訂存取原則,請參閱本文後面的存取原則的 SAS 權杖

從用戶端應用程式執行註冊管理時,若透過通知傳送的資訊不是敏感性資訊 (例如氣象更新),常見存取通知中樞的方法是將只具接聽存取權限之規則的索引鍵值,授與用戶端應用程式,並將該規則之完整存取權限的索引鍵值,授與應用程式後端。

應用程式不應該在 Windows Store 用戶端應用程式中內嵌索引鍵值;而是讓用戶端應用程式在啟動時從應用程式後端進行擷取。

具有「接聽」存取權的索引鍵可讓用戶端應用程式註冊任何標記。 如果您的應用程式必須限制特定用戶端的註冊 (例如,當標記代表使用者識別碼時),則您的應用程式後端就必須執行該註冊。 如需詳細資訊,請參閱註冊管理。 請注意,如此一來,用戶端應用程式將無法直接存取通知中樞。

安全性宣告

與其他實體類似,通知中樞作業也可有三種安全性宣告:「接聽」、「傳送」和「管理」。

宣告 Description 允許的作業
接聽 建立/更新、讀取及刪除單一註冊 建立/更新註冊

讀取註冊

讀取控制代碼的所有註冊

刪除註冊
傳送 將訊息傳送至通知中樞 傳送訊息
管理 對通知中樞執行 CRUD (包含更新 PNS 認證及安全性金鑰) 並依標記讀取的註冊 建立/更新/讀取/刪除中樞

依標記讀取註冊

通知中樞會接受直接在中樞上設定共用金鑰所產生的 SAS 權杖。

無法將通知傳送至多個命名空間。 命名空間是通知中樞的邏輯容器,而且不會涉及傳送通知。

使用命名空間層級存取原則 (認證) 進行命名空間層級作業;例如:列出中樞、建立或刪除中樞等。只有中樞層級存取原則可讓您傳送通知。

存取原則的 SAS 權杖

若要建立新的安全性宣告或檢視現有的 SAS 金鑰,請執行下列動作:

  1. 登入 Azure 入口網站。
  2. 選取 [所有資源]。
  3. 選取您想要建立宣告或檢視 SAS 金鑰的通知中樞名稱。
  4. 在左側功能表中,選取 [存取原則]。
  5. 選取 [新增原則] 以建立新的安全性宣告。 提供原則的名稱,然後選取您想要授與的權限。 然後選取 [確定] 。
  6. 完整連接字串 (包括新的 SAS 金鑰) 會顯示在 [存取原則] 視窗中。 您可以將此字串複製至剪貼簿,以供稍後使用。

若要從特定原則擷取 SAS 金鑰,請選取包含所需 SAS 金鑰的原則旁邊的 [複製] 按鈕。 將此值貼入暫存位置,然後複製連接字串的 SAS 金鑰部分。 此範例使用稱為 mytestnamespace1 的通知中樞命名空間,以及名為 policy2 的原則。 SAS 金鑰是接近字串結尾的值,由 SharedAccessKey 所指定:

Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>

取得 SAS 金鑰

下一步