Azure 轉送驗證和授權

有兩種方式可以驗證和授權 Azure 轉寄資源的存取權:Microsoft Entra ID 和共用存取簽章(SAS)。 本文提供使用這兩種安全性機制的詳細資料。

Microsoft Entra ID

Azure 轉寄資源的 Microsoft Entra 整合提供 Azure 角色型存取控制 (Azure RBAC),以更精細地控制用戶端對資源的存取。 您可以使用 Azure RBAC 將權限授與安全性主體,該安全性主體可能是使用者、群組或應用程式服務主體。 安全性主體是由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 權杖。 權杖可用來授權要求存取 Azure 轉播資源。

如需使用 Microsoft Entra ID 進行驗證的詳細資訊,請參閱下列文章:

重要

使用 Microsoft Entra ID 所傳回的 OAuth 2.0 權杖授權使用者或應用程式,可提供優於共用存取簽章 (SAS) 的優越安全性和便於使用性。 使用 Microsoft Entra 識別碼,就不需要將權杖儲存在您的程式碼中,並風險潛在的安全性弱點。 建議您盡可能將 Microsoft Entra 識別碼與 Azure 轉播應用程式搭配使用。

內建角色

針對 Azure 轉播,透過Azure 入口網站和 Azure 資源管理 API 來管理命名空間和所有相關資源,已使用 Azure RBAC 模型來保護。 Azure 提供下列 Azure 內建角色,以授權存取轉接命名空間:

角色 描述
Azure 轉寄擁有者 使用此角色授與 Azure 轉播資源的完整 存取權。
Azure 轉接聽程式 使用此角色將接聽和實體讀取 許可權授 與 Azure 轉寄資源。
Azure 轉送寄件者 使用此角色授 與 Azure 轉送資源的傳送和實體讀取 許可權。

共用存取簽章

應用程式可以使用共用存取簽章 (SAS) 驗證向 Azure 轉寄進行驗證。 SAS 驗證可讓應用程式使用在轉接命名空間上設定的存取金鑰,向 Azure 轉寄服務進行驗證。 然後,您可以使用此金鑰來產生共用存取簽章權杖,用戶端可用來向轉寄服務進行驗證。

SAS 驗證 可讓您將具有特定許可權的 Azure 轉寄資源存取權授與使用者。 SAS 驗證牽涉到設定具有資源相關許可權的密碼編譯金鑰。 接著,用戶端可以藉由呈現 SAS 權杖來取得該資源的存取權,此權杖包含要存取的資源 URI,以及已設定金鑰簽署的到期日。

您可以在轉接命名空間上設定 SAS 的金鑰。 不同于服務匯流排傳訊, 轉送混合式連線支援 未經授權的或匿名寄件者。 您可以在建立實體時啟用匿名存取,如入口網站中的下列螢幕擷取畫面所示:

A dialog box titled

若要使用 SAS,您可以在包含下列屬性的 Relay 命名空間上設定 SharedAccessAuthorizationRule 物件:

  • 識別規則的 KeyName
  • PrimaryKey 是用來簽署/驗證 SAS 權杖的密碼編譯金鑰。
  • SecondaryKey 是用來簽署/驗證 SAS 權杖的密碼編譯金鑰。
  • 代表 所授與之接聽、傳送或管理許可權集合的許可權。

在命名空間層級設定的授權規則,可以將存取權授與命名空間中具有使用對應金鑰簽署之權杖的用戶端的所有轉送連線。 在轉送命名空間上最多可設定 12 個這類授權規則。 根據預設, SharedAccessAuthorizationRule 在首次布建時會針對每個命名空間設定擁有權限。

若要存取實體,用戶端需要使用特定 SharedAccessAuthorizationRule 所產生的 SAS 權杖。 SAS 權杖是使用資源字串的 HMAC-SHA256 來產生,該字串包含宣告存取的資源 URI,以及與授權規則相關聯的密碼編譯金鑰到期。

Azure .NET SDK 2.0 版和更新版本包含 Azure 轉寄的 SAS 驗證支援。 SAS 包含 SharedAccessAuthorizationRule 的支援 。 接受連接字串做為參數的所有 API 都包含 SAS 連接字串的支援。

範例

下一步